Browse Source

working on install scripts etc

and added known issue
master
poikilos 7 years ago
committed by Jacob Gustafson
parent
commit
100158f457
  1. 1
      README.md
  2. 57
      etc/minetestserver-install-git-all-backends.sh
  3. 33
      etc/minetestserver-uninstall-git-leftovers.sh
  4. 44
      etc/minetestserver-uninstall-git.sh
  5. 16
      etc/minetestserver-update-from-git.sh
  6. 10
      etc/unused/minetestserver-update-from-git.sh

1
README.md

@ -248,6 +248,7 @@ Otherwise just install everything EXCEPT cme_to_spawners & tsm_pyramids_to_spawn
* Updated pipeworks fork by HybridDog: https://github.com/HybridDog/pipeworks
## Known issues:
* spawners to spawners modpack transitional mod included here does not transition dungeon spawners such as `spawners:mobs_stone_monster_spawner_waiting` (in private test world near (?, -1458, -12)
* worlds made with older version of enliven use Echoes' throwing, so the following differences must be fixed possibly with a new mod:
* Old throwing items that are not in throwing_arrows:
* throwing:arrow_steel

57
etc/minetestserver-install-git-all-backends.sh

@ -0,0 +1,57 @@
#remove non-git version first:
sudo apt update
echo "This script compiles AND installs minetestserver (NOT run-in-place, but rather system-wide) with leveldb, redis, and defaults postgresql, doxygen, sqlite3"
echo
echo
echo "If you want to install the client on your server (not normal practice), change -DBUILD_CLIENT=FALSE to -DBUILD_CLIENT=TRUE before continuing this script."
echo "Removing the non-git (packaged) version first (Press Ctrl C to cancel)..."
sleep 1
echo "3..."
sleep 1
echo "2..."
sleep 1
echo "1..."
sleep 1
echo
sudo apt remove minetest-server
sudo apt remove minetest
sudo apt install libncurses5-dev libgettextpo-dev doxygen libspatialindex-dev libpq-dev postgresql-server-dev-all
# added libpq-dev postgresql-server-dev-all (or specific version) are BOTH needed for PostgreSQL development as per https://stackoverflow.com/questions/13920383/findpostgresql-cmake-wont-work-on-ubuntu
# if you skip the above, the below says missing: GetText, Curses, ncurses, Redis, SpatialIndex, Doxygen
sudo apt install -y git build-essential libirrlicht-dev libgettextpo0 libfreetype6-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-openssl-dev libluajit-5.1-dev liblua5.1-0-dev libleveldb-dev
cd
if [ ! -d "Downloads" ]; then
mkdir Downloads
fi
if [ -d minetest ]; then
echo "ERROR: Nothing done since 'minetest' already exists in `pwd`--delete it before cloning, or run the included update script to update."
fi
git clone https://github.com/minetest/minetest.git
git pull --all # see https://forum.minetest.net/viewtopic.php?f=42&t=3837&start=125#p306449
cd minetest/games
git clone https://github.com/minetest/minetest_game.git
git pull --all
cd ..
# heavily modified from forum url above due to hints from AUR files obtained via git clone https://aur.archlinux.org/minetest-git-leveldb.git
echo "ENABLE_CURSES enables server-side terminal via --terminal option"
cmake . -DENABLE_GETTEXT=on -DENABLE_CURSES=on -DENABLE_FREETYPE=on -DENABLE_LEVELDB=on -DENABLE_CURL=on -DENABLE_GETTEXT=on -DENABLE_REDIS=on -DENABLE_POSTGRESQL=on -DBUILD_SERVER=on -DBUILD_CLIENT=off -DRUN_IN_PLACE=off -DCMAKE_BUILD_TYPE=Release
# NOTE: as long as -DRUN_IN_PLACE=off, above installs correctly without -DCMAKE_INSTALL_PREFIX=/usr which for some reason is used by https://aur.archlinux.org/minetest-git.git
# -DCMAKE_BUILD_TYPE=Release as per https://aur.archlinux.org/minetest-git.git
make -j$(nproc)
sudo make install
if [ -f "`command -v update-desktop-database`" ]; then
echo "updating desktop database as per https://aur.archlinux.org/minetest-git.git"
update-desktop-database &>/dev/null && update-desktop-database -q
fi
if [ -f "`command -v gtk-update-icon-cache`" ]; then
echo "updating gtk icon cache as per https://aur.archlinux.org/minetest-git.git"
gtk-update-icon-cache &>/dev/null && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
fi
# minetest;
echo -e "\n\n\e[1;33mYou can run Minetest Server by typing \"minetestserver\" in a terminal, but using mtsenliven.py is recommended instead and keeps a config file for what world and subgame you want via minetestinfo.py.\e[0m"
echo "The only known uninstall method is:"
echo "sudo xargs rm < install_manifest.txt"
echo "# as per http://irc.minetest.net/minetest/2015-08-06"
# based on https://forum.minetest.net/viewtopic.php?f=42&t=3837 (below)
# sudo apt-get install -y git build-essential libirrlicht-dev libgettextpo0 libfreetype6-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-openssl-dev libluajit-5.1-dev liblua5.1-0-dev libleveldb-dev; cd; git clone https://github.com/minetest/minetest.git; cd minetest/games; git clone https://github.com/minetest/minetest_game.git; cd ..; cmake . -DENABLE_GETTEXT=1 -DENABLE_FREETYPE=1 -DENABLE_LEVELDB=1; make -j$(nproc); sudo make install; minetest; echo -e "\n\n\e[1;33mYou can run Minetest again by typing \"minetest\" in a terminal or selecting it in an applications menu.\nYou can install mods in ~/.minetest/mods, too.\e[0m"

33
etc/minetestserver-uninstall-git-leftovers.sh

@ -0,0 +1,33 @@
if [ ! -f "install_manifest.txt" ]; then
echo "missing install_manifest.txt, cannot uninstall unless you properly run cmake source and are running this script from the base repo directory"
exit 1
fi
sudo xargs rm < install_manifest.txt
echo "Remove botched folders from faulty make install path apparently caused by running sudo make install without -DRUN_IN_PLACE=FALSE"
echo "This should be safe since only removes directories if empty (except removes /usr/local/mods recursively)..."
rmdir /usr/local/mods
rmdir /usr/local/textures
rmdir /usr/local/games
rmdir /usr/local/fonts
rmdir /usr/local/builtin
rmdir /usr/local/doc
rmdir /usr/local/unix
rmdir /usr/local/fonts
sudo rm -Rf /usr/local/mods
sudo rmdir /usr/local/textures
sudo rmdir /usr/local/doc
sudo rmdir /usr/local/fonts
sudo rmdir /usr/local/unix/*
#rmdir: failed to remove 'icons': Directory not empty
#rmdir: failed to remove 'man': Directory not empty
sudo rmdir /usr/local/unix/man/man6
sudo rmdir /usr/local/unix/man
sudo rmdir /usr/local/unix/icons/hicolor/128x128/*
sudo rmdir /usr/local/unix/icons/hicolor/128x128
sudo rmdir /usr/local/unix/icons/hicolor/scalable/*
sudo rmdir /usr/local/unix/icons/hicolor/scalable
sudo rmdir /usr/local/unix/icons/hicolor
sudo rmdir /usr/local/unix/icons
sudo rmdir /usr/local/unix
sudo rmdir /usr/local/builtin/*
sudo rmdir /usr/local/builtin

44
etc/minetestserver-uninstall-git.sh

@ -0,0 +1,44 @@
LOCAL_REPO_DIR=$HOME/Downloads/minetest
if [ ! -f "$LOCAL_REPO_DIR/install_manifest.txt" ]; then
echo "missing $LOCAL_REPO_DIR/install_manifest.txt, cannot uninstall unless you properly run cmake source and are running this script from the base repo directory (only runs from that specific location specified for safety)"
exit 1
fi
cd "$LOCAL_REPO_DIR"
sudo xargs rm < install_manifest.txt
echo "Remove botched folders from faulty make install path apparently caused by running sudo make install without -DRUN_IN_PLACE=FALSE"
echo "This should be safe since only removes directories if empty (except removes /usr/local/mods recursively)..."
rmdir /usr/local/mods
rmdir /usr/local/textures
rmdir /usr/local/games
rmdir /usr/local/fonts
rmdir /usr/local/builtin
rmdir /usr/local/doc
rmdir /usr/local/unix
rmdir /usr/local/fonts
sudo rm -Rf /usr/local/mods
sudo rmdir /usr/local/textures
sudo rmdir /usr/local/doc
sudo rmdir /usr/local/fonts
sudo rmdir /usr/local/unix/*
#rmdir: failed to remove 'icons': Directory not empty
#rmdir: failed to remove 'man': Directory not empty
sudo rmdir /usr/local/unix/man/man6
sudo rmdir /usr/local/unix/man
sudo rmdir /usr/local/unix/icons/hicolor/128x128/*
sudo rmdir /usr/local/unix/icons/hicolor/128x128
sudo rmdir /usr/local/unix/icons/hicolor/scalable/*
sudo rmdir /usr/local/unix/icons/hicolor/scalable
sudo rmdir /usr/local/unix/icons/hicolor
sudo rmdir /usr/local/unix/icons
sudo rmdir /usr/local/unix
sudo rmdir /usr/local/builtin/*
sudo rmdir /usr/local/builtin
if [ -f "`command -v update-desktop-database`" ]; then
echo "updating desktop database as per https://aur.archlinux.org/minetest-git.git"
update-desktop-database &>/dev/null && update-desktop-database -q
fi
if [ -f "`command -v gtk-update-icon-cache`" ]; then
echo "updating gtk icon cache as per https://aur.archlinux.org/minetest-git.git"
gtk-update-icon-cache &>/dev/null && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
fi

16
etc/minetestserver-update-from-git.sh

@ -0,0 +1,16 @@
#!/bin/sh
if [ -d "$HOME/Downloads/minetest" ]; then
cd "$HOME/Downloads"
cd minetest; sudo git pull; sudo make -j$(nproc)
#cd games; sudo git pull; sudo make -j$(nproc)
#git config global user.email ""
#git config global user.name "expertmm"
sudo git pull https://github.com/minetest/minetest_game.git
#sudo git fetch
#sudo git checkout HEAD games/minetest_game
#sudo make install
else
echo "ERROR: no minetest in $HOME/Downloads"
fi

10
etc/unused/minetestserver-update-from-git.sh

@ -1,10 +0,0 @@
#!/bin/sh
cd
cd minetest; sudo git pull; sudo make -j$(nproc)
#cd games; sudo git pull; sudo make -j$(nproc)
#git config global user.email "tertiary@axlemedia.net"
#git config global user.name "Expert Multimedia"
sudo git pull https://github.com/minetest/minetest_game.git
#sudo git fetch
#sudo git checkout HEAD games/minetest_game
#sudo make install
Loading…
Cancel
Save