FAQ | This is a LIVE service | Changelog

Skip to content
Snippets Groups Projects
Verified Commit f9d58b39 authored by Silas S. Brown's avatar Silas S. Brown
Browse files

GNU/Linux install script for multiuser + desktop menu entry

parent fbd7292d
No related branches found
No related tags found
No related merge requests found
Installing Gradint on GNU/Linux systems
---------------------------------------
Gradint does not need to be installed, it can
just run from the current directory.
If you do want to make a system-wide installation
(for example if you want to make a package for a
GNU/Linux distribution), I suggest doing the
following as root:
mkdir /usr/share/gradint
cp gradint.py /usr/share/gradint/
cd samples/utils
for F in *.py *.sh; do
DestFile=/usr/bin/gradint-$(echo $F|sed -e 's/\..*//')
cp $F $DestFile
chmod +x $DestFile
done
cd ../.. ; rm -rf samples/utils
tar -zcf /usr/share/gradint/new-user.tgz \
advanced.txt settings.txt vocab.txt samples
cat > /usr/bin/gradint <<EOF
#!/bin/bash
if ! [ -e "$HOME/gradint" ]; then
echo "You will need some prompts and samples in your home directory."
echo "Is it OK to unpack an example into $HOME/gradint ?"
echo "Ctrl-C to quit or Enter to continue"
read
echo -n "Unpacking... "
mkdir "$HOME/gradint"
cd "$HOME/gradint"
tar -zxf /usr/share/gradint/new-user.tgz
echo "done."
echo "Please check the contents of $HOME/gradint"
echo "especially the README files."
echo "Then you can run gradint again."
exit
fi
cd "$HOME/gradint"
python /usr/share/gradint/gradint.py $@
EOF
chmod +x /usr/bin/gradint
For a distribution you might also have to write
man pages and tidy up the help text etc.
Depends: python + a sound player (e.g. alsa-utils)
Recommends: python-tk python-tksnack sox libsox-fmt-all madplay
......@@ -28,7 +28,7 @@ EData := $(shell for N in $(Extra_Data); do if [ -e $$N ]; then echo $$N; fi; do
Common_Files=vocab.txt settings.txt advanced.txt samples $(EData)
Most_Mac_Files=$(Common_Files) gradint.py
Mac_Files=$(Most_Mac_Files) mac/start-gradint.app
Linux_Files=$(Common_Files) gradint.py INSTALL.txt
Linux_Files=$(Common_Files) gradint.py install.sh
Riscos_Files=$(Common_Files) gradint.py
CODE=src/lessonplan.py src/sequence.py src/loop.py src/booktime.py src/play.py src/synth.py src/makeevent.py src/filescan.py src/recording.py src/users.py
......@@ -207,6 +207,7 @@ gradint.dmg: gradint-installer.command
gradint.bgz: $(Linux_Files)
mkdir gradint
cp -r $(Linux_Files) gradint
chmod +x gradint/install.sh
tar -c gradint/ | bzip2 -9 > gradint.bgz
rm -rf gradint
......
#!/bin/bash
# Installing Gradint on GNU/Linux systems
# ---------------------------------------
# Gradint does not need to be installed, it can
# just run from the current directory.
# If you do want to make a system-wide installation
# (for example if you want to make a package for a
# GNU/Linux distribution), I suggest running as root
# the commands below.
# For a distribution you might also have to write
# man pages and tidy up the help text etc.
# Depends: python + a sound player (e.g. alsa-utils)
# Recommends: python-tk python-tksnack sox libsox-fmt-all madplay
# ---------------------------------------
set -e
PREFIX=/usr/local # or /usr
if which python; then PYTHON=python; else PYTHON=python3; fi
mkdir -p "$PREFIX/share/gradint"
mv gradint.py "$PREFIX/share/gradint/"
cd samples/utils
for F in *.py *.sh; do
DestFile="$PREFIX/bin/gradint-$(echo $F|sed -e 's/\..*//')"
mv "$F" "$DestFile"
chmod +x "$DestFile"
done
cd ../.. ; rm -rf samples/utils
tar -zcf "$PREFIX/share/gradint/new-user.tgz" \
advanced.txt settings.txt vocab.txt samples
cat > "$PREFIX/bin/gradint" <<'EOF'
#!/bin/bash
if ! [ -e "$HOME/gradint" ]; then
echo -n "Unpacking new user Gradint configuration... "
mkdir "$HOME/gradint"
cd "$HOME/gradint"
EOF
echo " tar -zxf \"$PREFIX/share/gradint/new-user.tgz\"" >> "$PREFIX/bin/gradint"
cat >> "$PREFIX/bin/gradint" <<'EOF'
echo "done."
fi
cd "$HOME/gradint"
EOF
echo "$PYTHON \"$PREFIX/share/gradint/gradint.py\" "'$@' >> "$PREFIX/bin/gradint"
chmod +x "$PREFIX/bin/gradint"
mkdir -p "$PREFIX/share/applications"
cat > "$PREFIX/share/applications/gradint.desktop" <<EOF
[Desktop Entry]
Type=Application
Name=Gradint
Comment=Graduated-interval recall
Exec=$PREFIX/bin/gradint
Categories=Education;Languages
EOF
echo; echo "Installation complete."
echo "To uninstall: sudo rm -rf \"$PREFIX/bin/gradint\" \"$PREFIX/share/gradint\""
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment