mirror of
https://github.com/erkin/ponysay.git
synced 2024-11-22 04:27:58 +01:00
just com bugs, than install and uninstall must be tested
This commit is contained in:
parent
52ccbcdca7
commit
761ae98ad5
2 changed files with 43 additions and 375 deletions
355
configure
vendored
355
configure
vendored
|
@ -1,357 +1,21 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
PREFIX='/usr'
|
|
||||||
INFODESC=\''My Little Ponies for your terminal'\'
|
|
||||||
SHELL='bash'
|
|
||||||
|
|
||||||
completions='completion/bash-completion.sh completion/fish-completion.fish completion/zsh-completion.zsh'
|
|
||||||
shareDirs='ponies ttyponies quotes balloons extraponies extrattyponies'
|
|
||||||
manFiles='manuals/manpage.6 manuals/manpage.es.6'
|
|
||||||
licenseFiles='COPYING'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
oldInstalledFiles='bin/ponysaytruncater lib/ponysay/truncater lib/ponysay/list.pl lib/ponysay/linklist.pl lib/ponysay/pq4ps lib/ponysay/pq4ps.pl lib/ponysay/pq4ps-list lib/ponysay/pq4ps-list.pl bin/ponysay.py bin/ponythink.py'
|
|
||||||
oldInstalledDirs='lib/ponysay share/ponies share/ttyponies bin/ponysaylist.pl'
|
|
||||||
oldCompiledFiles='truncater ponysaytruncater ponysay.py.install'
|
|
||||||
oldCompiledDirs=''
|
|
||||||
|
|
||||||
installedFiles='bin/ponysay bin/ponythink doc/ponysay.pdf share/info/ponysay.info.gz share/info/ponythink.info.gz share/ponysay/ucsmap'
|
|
||||||
installedDirs='share/ponysay lib/ponysay'
|
|
||||||
compiledFiles='ponysay.info ponysay.info.gz ponysay.install ponysay.install~'
|
|
||||||
compiledDirs='quotes'
|
|
||||||
|
|
||||||
for man in $manFiles; do
|
|
||||||
compiledFiles="$compiledFiles $man.gz"
|
|
||||||
done
|
|
||||||
for completion in $completions; do
|
|
||||||
thinkfile="${completion%%.*}-think.${completion##*.}"
|
|
||||||
compiledFiles="$compiledFiles $completion.install $thinkfile"
|
|
||||||
done
|
|
||||||
for file in $licenseFiles; do
|
|
||||||
installedFiles="$installedFiles share/licenses/ponysay/$file"
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function getcompdir()
|
|
||||||
{
|
|
||||||
if [ "$1" == 'bash' ]; then echo -n 'bash-completion/completions'
|
|
||||||
elif [ "$1" == 'fish' ]; then echo -n 'fish/completions'
|
|
||||||
elif [ "$1" == 'zsh' ]; then echo -n 'zsh/site-functions'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function getcompfile()
|
|
||||||
{
|
|
||||||
if [ "$1" == 'bash' ]; then echo -n "$2"
|
|
||||||
elif [ "$1" == 'fish' ]; then echo -n "$2"'.fish'
|
|
||||||
elif [ "$1" == 'zsh' ]; then echo -n '_'"$2"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
installCache=' install-cache'
|
|
||||||
installPdf=''
|
|
||||||
installInfo=' install-info'
|
|
||||||
installInfoInstall=' install-info-install'
|
|
||||||
installMan=' install-man'
|
|
||||||
installManEs=''
|
|
||||||
installBash=' install-bash'
|
|
||||||
installFish=' install-fish'
|
|
||||||
installZsh=' install-zsh'
|
|
||||||
|
|
||||||
for arg in "$@"; do
|
|
||||||
opt="${arg%%=*}"
|
|
||||||
val="${arg##*=}"
|
|
||||||
|
|
||||||
if [ "$opt" = '--prefix' ]; then
|
|
||||||
PREFIX="$val"
|
|
||||||
elif [ "$opt" = '--info-desc' ]; then
|
|
||||||
INFODESC=\'"$(sed -e s/\'/\''\\'\'\'/g <<<"$val")"\'
|
|
||||||
elif [ "$opt" = '--shell' ]; then
|
|
||||||
SHELL="$val"
|
|
||||||
|
|
||||||
elif [ "$opt" = '--without-shared-cache' ]; then installCache=''
|
|
||||||
elif [ "$opt" = '--with-pdf' ]; then installPdf=' install-pdf'
|
|
||||||
elif [ "$opt" = '--without-info' ]; then installInfo=''
|
|
||||||
elif [ "$opt" = '--without-info-install' ]; then installInfoInstall=''
|
|
||||||
elif [ "$opt" = '--without-man' ]; then installMan=''
|
|
||||||
elif [ "$opt" = '--with-man-es' ]; then installManEs=' install-man-es'
|
|
||||||
elif [ "$opt" = '--without-bash' ]; then installBash=''
|
|
||||||
elif [ "$opt" = '--without-fish' ]; then installFish=''
|
|
||||||
elif [ "$opt" = '--without-zsh' ]; then installZsh=''
|
|
||||||
|
|
||||||
elif [ "$opt" = "--everything" ]; then
|
|
||||||
installCache=' install-cache'
|
|
||||||
installPdf=' install-pdf'
|
|
||||||
installInfo=' install-info'
|
|
||||||
installInfoInstall=' install-info-install'
|
|
||||||
installMan=' install-man'
|
|
||||||
installManEs=' install-man-es'
|
|
||||||
installBash=' install-bash'
|
|
||||||
installFish=' install-fish'
|
|
||||||
installZsh=' install-zsh'
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "$0: error: option not recongised: $arg" >&2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$installInfo" = '' ]; then
|
|
||||||
installInfoInstall=''
|
|
||||||
fi
|
|
||||||
|
|
||||||
compileMethods='core quotes manpages ponysaycompletion ponythinkcompletion'
|
|
||||||
installMethods='install-min'"$installCache$installPdf$installInfo$installInfoInstall$installMan$installManEs$installBash$installFish$installZsh"
|
|
||||||
if [ ! "$installInfo" = '' ]; then
|
|
||||||
compileMethods="$compileMethods infomanual"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function correctPrefix()
|
|
||||||
{
|
|
||||||
for file in "$@"; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'sed -e '\''s/'\''\'\'''\''\/usr/'\''\'\''"$(SED_PREFIX)"'\''/g'\'' < "'"$file"'" > "'"$file"'.install"'
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function gzCompress()
|
|
||||||
{
|
|
||||||
for file in "$@"; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'gzip -9 -f < "'"$file"'" > "'"$file"'".gz'
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function thinkCompletion()
|
|
||||||
{
|
|
||||||
for file in "$@"; do
|
|
||||||
echo -en '\tsed'
|
|
||||||
echo -n ' -e '\''s/ponysay/ponythink/g'\'
|
|
||||||
echo -n ' < "'"$file"'.install" | sed'
|
|
||||||
echo -n ' -e '\''s/\/ponythink\//\/ponysay\//g'\'
|
|
||||||
echo -n ' -e '\''s/\\\/ponythink\\\//\\\/ponysay\\\//g'\'
|
|
||||||
thinkfile="${file%%.*}-think.${file##*.}"
|
|
||||||
echo ' > "'"$thinkfile"'"'
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "PREFIX = $PREFIX, edit with option --prefix=PREFIX"
|
|
||||||
echo "INFODESC = $INFODESC, edit with option --info-desc=INFODESC"
|
|
||||||
echo "SHELL = $SHELL, edit with option --shell=PREFIX"
|
|
||||||
echo
|
|
||||||
[ ! "$installCache" = '' ] && echo "Installing shared cache, add option --without-shared-cache to skip"
|
|
||||||
[ ! "$installPdf" = '' ] && echo "Installing PDF manual"
|
|
||||||
[ ! "$installInfo" = '' ] && echo "Installing info manual, add option --without-info to skip"
|
|
||||||
[ ! "$installInfoInstall" = '' ] && echo "Installing info manual with info-install, add option --without-info to skip"
|
|
||||||
[ ! "$installMan" = '' ] && echo "Installing English manpage manual, add option --without-man to skip"
|
|
||||||
[ ! "$installManEs" = '' ] && echo "Installing Spanish manpage manual"
|
|
||||||
[ ! "$installBash" = '' ] && echo "Installing autocompletion for GNU Bash, add option --without-bash to skip"
|
|
||||||
[ ! "$installFish" = '' ] && echo "Installing autocompletion for fish, add option --without-fish to skip"
|
|
||||||
[ ! "$installZsh" = '' ] && echo "Installing autocompletion for zsh, add option --without-zsh to skip"
|
|
||||||
echo
|
|
||||||
[ ! "$installCache" = '' ] || echo "Skipping shared cache"
|
|
||||||
[ ! "$installPdf" = '' ] || echo "Skipping PDF manual, add option --with-pdf to install"
|
|
||||||
[ ! "$installInfo" = '' ] || echo "Skipping info manual"
|
|
||||||
[ ! "$installInfoInstall" = '' ] || echo "Skipping info manual installation with info-install"
|
|
||||||
[ ! "$installMan" = '' ] || echo "Skipping English manpage manual"
|
|
||||||
[ ! "$installManEs" = '' ] || echo "Skipping Spanish manpage manual, add option --with-man-es to install"
|
|
||||||
[ ! "$installBash" = '' ] || echo "Skipping autocompletion for GNU Bash"
|
|
||||||
[ ! "$installFish" = '' ] || echo "Skipping autocompletion for fish"
|
|
||||||
[ ! "$installZsh" = '' ] || echo "Skipping autocompletion for zsh"
|
|
||||||
echo
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function makeMakefile()
|
function makeMakefile()
|
||||||
{
|
{
|
||||||
echo 'SHELL='\'"$SHELL"\'
|
params=''
|
||||||
echo 'PREFIX='\'"$PREFIX"\'
|
for arg in "$@"; do
|
||||||
echo 'INSTALLDIR="$(DESTDIR)$(PREFIX)"'
|
params="$params '$(echo $arg | sed -e "s/'/'\\''/g")'"
|
||||||
echo 'SED_PREFIX=$$(sed -e '\''s/\//\\\//g'\'' <<<$(PREFIX))'
|
|
||||||
echo
|
|
||||||
echo 'default: '"$compileMethods"
|
|
||||||
echo
|
|
||||||
echo 'all: core quotes manpages infomanual ponysaycompletion ponythinkcompletion'
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo "core:"
|
|
||||||
correctPrefix 'ponysay'
|
|
||||||
echo -en '\t' ; echo 'if (( `env python --version 2>&1 | cut -d " " -f 2 | cut -d "." -f 1` < 3 )); then \'
|
|
||||||
echo -en '\t' ; echo ' mv "ponysay.install" "ponysay.install~" ;\'
|
|
||||||
echo -en '\t' ; echo ' sed -e '\''s/bin\/env python/bin\/env python3/'\'' < "ponysay.install~" > "ponysay.install" ;\'
|
|
||||||
echo -en '\t' ; echo 'fi'
|
|
||||||
echo -en '\t' ; echo 'chmod 755 "ponysay.install"'
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo "quotes:"
|
|
||||||
echo -en '\t' ; echo 'mkdir -p quotes'
|
|
||||||
echo -en '\t' ; echo 'for ponies in $$(cat ponyquotes/ponies); do \'
|
|
||||||
echo -en '\t' ; echo ' for pony in $$(echo $$ponies | sed -e '\''s/+/ /g'\''); do \'
|
|
||||||
echo -en '\t' ; echo ' echo '\''Generating quote files for '\''"$$pony"; \'
|
|
||||||
echo -en '\t' ; echo ' for file in $$(ls "ponyquotes/" | grep "$$pony\\.*"); do \'
|
|
||||||
echo -en '\t' ; echo ' if [ -f "ponyquotes/$$file" ]; then \'
|
|
||||||
echo -en '\t' ; echo ' cp "ponyquotes/"$$file "quotes/"$$ponies'\''.'\''$$(echo $$file | cut -d '\''.'\'' -f 2) \'
|
|
||||||
echo -en '\t' ; echo ';fi;done;done;done'
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'manpages:'
|
|
||||||
gzCompress $manFiles
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'infomanual:'
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'makeinfo "manuals/ponysay.texinfo"'
|
|
||||||
gzCompress 'ponysay.info'
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'ponysaycompletion:'
|
|
||||||
correctPrefix $completions
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'ponythinkcompletion: ponysaycompletion'
|
|
||||||
thinkCompletion $completions
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'install-min: core quotes'
|
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/ponysay/"'
|
|
||||||
for dir in $shareDirs; do
|
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/ponysay/'"$dir"'"'
|
|
||||||
echo -en '\t' ; echo 'cp -P "'"$dir"'/"* "$(INSTALLDIR)/share/ponysay/'"$dir"'/"'
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/bin/"'
|
|
||||||
echo -en '\t' ; echo 'install "ponysay.install" "$(INSTALLDIR)/bin/ponysay"'
|
|
||||||
echo -en '\t' ; echo 'ln -sf "ponysay" "$(INSTALLDIR)/bin/ponythink"'
|
|
||||||
echo
|
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/ponysay/"'
|
|
||||||
echo -en '\t' ; echo 'install "share/ucsmap" "$(INSTALLDIR)/share/ponysay/ucsmap"'
|
|
||||||
echo
|
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/licenses/ponysay/"'
|
|
||||||
for file in $licenseFiles; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'install "'"$file"'" "$(INSTALLDIR)/share/licenses/ponysay/'"$file"'"'
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'install-cache:'
|
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(DESTDIR)/var/cache/ponysay/"'
|
|
||||||
echo -en '\t' ; echo 'chmod 777 "$(DESTDIR)/var/cache/ponysay/"'
|
|
||||||
echo
|
|
||||||
|
|
||||||
for completion in $completions; do
|
|
||||||
shell="${completion##*/}"
|
|
||||||
shell="${shell%%-*}"
|
|
||||||
thinkfile="${completion%%.*}-think.${completion##*.}"
|
|
||||||
shelldir='share/'"$(getcompdir $shell)"'/'
|
|
||||||
echo 'install-'"$shell"': ponysaycompletion ponythinkcompletion'
|
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/'"$shelldir"'"'
|
|
||||||
echo -en '\t' ; echo 'install "'"$completion"'" "$(INSTALLDIR)/'"$shelldir$(getcompfile $shell ponysay)"'"'
|
|
||||||
echo -en '\t' ; echo 'install "'"$thinkfile"'" "$(INSTALLDIR)/'"$shelldir$(getcompfile $shell ponythink)"'"'
|
|
||||||
echo
|
|
||||||
installedFiles="$installedFiles $shelldir$(getcompfile $shell ponysay) $shelldir$(getcompfile $shell ponythink)"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo 'install-pdf:'
|
echo 'PARAMS ='"$params"
|
||||||
echo -en '\t'
|
|
||||||
echo 'install "ponysay.pdf" "$(INSTALLDIR)/doc/ponysay.pdf"'
|
|
||||||
echo
|
echo
|
||||||
|
echo -e 'default: all\n'
|
||||||
echo 'install-info: infomanual'
|
echo -e 'all: build\n'
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/info"'
|
for func in $(echo 'build' 'prebuilt' 'install' 'uninstall' 'uninstall-old' 'clean' 'clean-old' 'view'); do
|
||||||
echo -en '\t' ; echo 'install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponysay.info.gz"'
|
echo -e "$func"':\n\t./setup.py $(PARAMS) '"$func"'\n'
|
||||||
echo -en '\t' ; echo 'install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponythink.info.gz"'
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'install-info-install: install-info'
|
|
||||||
echo -en '\t' ; echo 'install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description='"$INFODESC"' "$(INSTALLDIR)/share/info/ponysay.info.gz"'
|
|
||||||
echo -en '\t' ; echo 'install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description='"$INFODESC"' "$(INSTALLDIR)/share/info/ponythink.info.gz"'
|
|
||||||
echo
|
|
||||||
|
|
||||||
for man in $manFiles; do
|
|
||||||
lang="${man##*manpage}"
|
|
||||||
lang="${lang%%.6}"
|
|
||||||
mandir="${lang/\.//}"
|
|
||||||
echo 'install-man'"${lang/\./-}"': manpages'
|
|
||||||
echo -en '\t' ; echo 'mkdir -p "$(INSTALLDIR)/share/man'"$mandir"'/man6"'
|
|
||||||
echo -en '\t' ; echo 'install "'"$man"'.gz" "$(INSTALLDIR)/share/man'"$mandir"'/man6/ponysay.6.gz"'
|
|
||||||
echo -en '\t' ; echo 'ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man'"$mandir"'/man6/ponythink.6.gz"'
|
|
||||||
echo
|
|
||||||
installedFiles="$installedFiles share/man$mandir/man6/ponysay.6.gz share/man$mandir/man6/ponythink.6.gz"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo
|
|
||||||
echo 'install: '"$installMethods"
|
|
||||||
echo -en '\t' ; echo '@echo -e \\n\\n\'
|
|
||||||
cat <<EOF
|
|
||||||
'/--------------------------------------------------\\\\\n'\\
|
|
||||||
'| ___ |\\n'\\
|
|
||||||
'| / (_) o |\\n'\\
|
|
||||||
'| \\__ _ _ __ |\\n'\\
|
|
||||||
'| / / |/ | | / \\_| | |\\n'\\
|
|
||||||
'| \\___/ | |_/|/\\__/ \\_/|/ |\\n'\\
|
|
||||||
'| /| /| |\\n'\\
|
|
||||||
'| \\| \\| |\\n'\\
|
|
||||||
'| ____ |\\n'\\
|
|
||||||
'| | _ \\ ___ _ __ _ _ ___ __ _ _ _ |\\n'\\
|
|
||||||
'| | |_) |/ _ \\ | '\\''_ \\ | | | |/ __| / _\` || | | | |\n'\\
|
|
||||||
'| | __/| (_) || | | || |_| |\\__ \\| (_| || |_| | |\\n'\\
|
|
||||||
'| |_| \\___/ |_| |_| \\__, ||___/ \\__,_| \\__, | |\\n'\\
|
|
||||||
'| |___/ |___/ |\\n'\\
|
|
||||||
'\\\\--------------------------------------------------/'
|
|
||||||
EOF
|
|
||||||
echo 'uninstall:'
|
|
||||||
echo -en '\t' ; echo 'if [ -d "$/var/cache/ponysay" ]; then rm -rf "$/var/cache/ponysay"; fi'
|
|
||||||
for old in $installedDirs; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'if [ -d "$(INSTALLDIR)/'"$old"'" ]; then rm -rf "$(INSTALLDIR)/'"$old"'"; fi'
|
|
||||||
done
|
|
||||||
for old in $installedFiles; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'if [ -f "$(INSTALLDIR)/'"$old"'" ]; then unlink "$(INSTALLDIR)/'"$old"'"; fi'
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'clean:'
|
|
||||||
for old in $compiledDirs; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'if [ -d "'"$old"'" ]; then rm -rf "'"$old"'"; fi'
|
|
||||||
done
|
|
||||||
for old in $compiledFiles; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'if [ -f "'"$old"'" ]; then rm -f "'"$old"'"; fi'
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'uninstall-old:'
|
|
||||||
for old in $oldInstalledDirs; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'if [ -d "$(INSTALLDIR)/'"$old"'" ]; then rm -rf "$(INSTALLDIR)/'"$old"'"; fi'
|
|
||||||
done
|
|
||||||
for old in $oldInstalledFiles; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'if [ -f "$(INSTALLDIR)/'"$old"'" ]; then unlink "$(INSTALLDIR)/'"$old"'"; fi'
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo 'clean-old:'
|
|
||||||
for old in $oldCompiledDirs; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'if [ -d "'"$old"'" ]; then rm -rf "'"$old"'"; fi'
|
|
||||||
done
|
|
||||||
for old in $oldCompiledFiles; do
|
|
||||||
echo -en '\t'
|
|
||||||
echo 'if [ -f "'"$old"'" ]; then rm -f "'"$old"'"; fi'
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
## Scripts for maintainers
|
## Scripts for maintainers
|
||||||
|
|
||||||
|
@ -394,5 +58,6 @@ pdfmanual:
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
makeMakefile > Makefile
|
|
||||||
|
makeMakefile "$@" > Makefile
|
||||||
|
|
||||||
|
|
63
setup.py
63
setup.py
|
@ -48,7 +48,7 @@ class Setup():
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
usage_script = '\033[34;1msetup.py\033[21;39m'
|
usage_script = '\033[34;1msetup.py\033[21;39m'
|
||||||
usage_help = '(version | help)'
|
usage_help = '(version | help)'
|
||||||
usage_proc = '[\033[4mconfigurations\033[24m] ([build] | prebuilt | install | (uninstall|clean)[-old])'
|
usage_proc = '[\033[4mconfigurations\033[24m] ([build] | prebuilt | install | (uninstall|clean)[-old] | view)'
|
||||||
|
|
||||||
usage = '%s %s\n%s %s' % (usage_script, usage_help, usage_script, usage_proc)
|
usage = '%s %s\n%s %s' % (usage_script, usage_help, usage_script, usage_proc)
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ class Setup():
|
||||||
elif method == 'install': self.build (conf); self.install(conf); self.clean()
|
elif method == 'install': self.build (conf); self.install(conf); self.clean()
|
||||||
elif method == 'uninstall': self.uninstall (conf)
|
elif method == 'uninstall': self.uninstall (conf)
|
||||||
elif method == 'uninstall-old': self.uninstallOld(conf)
|
elif method == 'uninstall-old': self.uninstallOld(conf)
|
||||||
else:
|
elif not method == 'view':
|
||||||
opts.help()
|
opts.help()
|
||||||
|
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ class Setup():
|
||||||
else: print(RED % ('Skipping installation of ' + file[1]))
|
else: print(RED % ('Skipping installation of ' + file[1]))
|
||||||
if conf['custom-env-python'] is not None: print(GREEN % ('Using custom env reference in python script shebang: ', conf['custom-env-python']))
|
if conf['custom-env-python'] is not None: print(GREEN % ('Using custom env reference in python script shebang: ', conf['custom-env-python']))
|
||||||
else: print(YELLOW % ('Looking for best env reference in python script shebang'))
|
else: print(YELLOW % ('Looking for best env reference in python script shebang'))
|
||||||
for miscfile in miscfiles: print(GREEN % ('Installing %s to %s' % (miscfile[0]), conf[miscfile[0]]))
|
for miscfile in miscfiles: print(GREEN % ('Installing ' + miscfile[0] + ' to ', conf[miscfile[0]]))
|
||||||
|
|
||||||
print()
|
print()
|
||||||
|
|
||||||
|
@ -230,11 +230,11 @@ class Setup():
|
||||||
env = conf['custom-env-python']
|
env = conf['custom-env-python']
|
||||||
if env is None:
|
if env is None:
|
||||||
(out, err) = Popen(['env', 'python', '--version'], stdout=PIPE, stderr=PIPE).communicate()
|
(out, err) = Popen(['env', 'python', '--version'], stdout=PIPE, stderr=PIPE).communicate()
|
||||||
out += err
|
out = out.decode('utf8', 'replace') + err.decode('utf8', 'replace')
|
||||||
out = out.replace('\n', '')
|
out = out.replace('\n', '')
|
||||||
env = env.split(' ')[1].split('.')[0]
|
env = out.split(' ')[1].split('.')[0]
|
||||||
if int(env) < 3: env = 'python3'
|
if int(env) < 3: env = 'python3'
|
||||||
else env = 'python'
|
else: env = 'python'
|
||||||
mane = False
|
mane = False
|
||||||
for command in commands:
|
for command in commands:
|
||||||
if conf[command] is not None:
|
if conf[command] is not None:
|
||||||
|
@ -252,7 +252,7 @@ class Setup():
|
||||||
data = data.replace('/usr/share/ponysay/' + sharedir, conf[sharedir])
|
data = data.replace('/usr/share/ponysay/' + sharedir, conf[sharedir])
|
||||||
for sharefile in sharefiles:
|
for sharefile in sharefiles:
|
||||||
data = data.replace('/usr/share/ponysay/' + sharefile[1], conf[sharefile[0]])
|
data = data.replace('/usr/share/ponysay/' + sharefile[1], conf[sharefile[0]])
|
||||||
data.replace('\nVERSION = \'dev\'', '\nVERSION = \'%s\'' % (VERSION))
|
data.replace('\nVERSION = \'dev\'', '\nVERSION = \'%s\'' % (PONYSAY_VERSION))
|
||||||
|
|
||||||
fileout.write(data)
|
fileout.write(data)
|
||||||
finally:
|
finally:
|
||||||
|
@ -285,7 +285,7 @@ class Setup():
|
||||||
ext = conf[key + '-compression']
|
ext = conf[key + '-compression']
|
||||||
if ext is not None:
|
if ext is not None:
|
||||||
dest = 'manuals/manpage' + lang + '.0.' + ext
|
dest = 'manuals/manpage' + lang + '.0.' + ext
|
||||||
compress(src, dest, )
|
compress(src, dest, ext)
|
||||||
|
|
||||||
if conf['info'] is not None:
|
if conf['info'] is not None:
|
||||||
print('makeinfo manuals/ponysay.texinfo')
|
print('makeinfo manuals/ponysay.texinfo')
|
||||||
|
@ -298,7 +298,7 @@ class Setup():
|
||||||
if conf[shell] is not None:
|
if conf[shell] is not None:
|
||||||
src = 'completion/%s-completion.%s' % (shell, 'sh' if shell == 'bash' else shell)
|
src = 'completion/%s-completion.%s' % (shell, 'sh' if shell == 'bash' else shell)
|
||||||
for command in commands:
|
for command in commands:
|
||||||
if conf[shell] in not None:
|
if conf[shell] is not None:
|
||||||
dest = src + '.' + shell
|
dest = src + '.' + shell
|
||||||
(fileout, filein) = (None, None)
|
(fileout, filein) = (None, None)
|
||||||
try:
|
try:
|
||||||
|
@ -319,21 +319,22 @@ class Setup():
|
||||||
if filein is not None: filein .close()
|
if filein is not None: filein .close()
|
||||||
|
|
||||||
if conf['quotes'] is not None:
|
if conf['quotes'] is not None:
|
||||||
removeLists([], ['quotes'])
|
self.removeLists([], ['quotes'])
|
||||||
os.mkdir('quotes')
|
os.mkdir('quotes')
|
||||||
file = None
|
ponymap = None
|
||||||
try:
|
try:
|
||||||
file = open('ponyquotes/ponies', 'r')
|
ponymap = open('ponyquotes/ponies', 'r')
|
||||||
ponies = [line.replace('\n', '').split('+') for line in file.readlines()]
|
ponies = [line.replace('\n', '') for line in ponymap.readlines()]
|
||||||
for pony in ponies:
|
for _ponies in ponies:
|
||||||
print('Generating quote files for ' + pony)
|
for pony in _ponies.split('+'):
|
||||||
for file in os.listdir('ponyquotes'):
|
print('Generating quote files for \033[34m' + pony + '\033[39m')
|
||||||
if file.startswith(pony + '.'):
|
for file in os.listdir('ponyquotes'):
|
||||||
if os.path.isfile('ponyquotes/' + file):
|
if file.startswith(pony + '.'):
|
||||||
shutil.copy(ponyquotes/ + file, 'quotes/' + '+'.join(ponies) + file[file.find('.'):]
|
if os.path.isfile('ponyquotes/' + file):
|
||||||
|
shutil.copy('ponyquotes/' + file, 'quotes/' + _ponies + file[file.find('.'):])
|
||||||
finally:
|
finally:
|
||||||
if file is not None:
|
if ponymap is not None:
|
||||||
file.close()
|
ponymap.close()
|
||||||
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
@ -351,16 +352,16 @@ class Setup():
|
||||||
print('Setting mode for ponysay.install copies to 755')
|
print('Setting mode for ponysay.install copies to 755')
|
||||||
if self.linking == COPY:
|
if self.linking == COPY:
|
||||||
for dest in dests:
|
for dest in dests:
|
||||||
os.chmod(dest, 0755)
|
os.chmod(dest, 0o755)
|
||||||
else:
|
else:
|
||||||
os.chmod(dests[0], 0755)
|
os.chmod(dests[0], 0o755)
|
||||||
if conf['shared-cache'] is not None:
|
if conf['shared-cache'] is not None:
|
||||||
dir = conf['shared-cache']
|
dir = conf['shared-cache']
|
||||||
pdir = dir[:rfind('/') + 1]
|
pdir = dir[:rfind('/') + 1]
|
||||||
print('Creating intermediate-level directories needed for ' + dir)
|
print('Creating intermediate-level directories needed for ' + dir)
|
||||||
os.makedirs(pdir)
|
os.makedirs(pdir)
|
||||||
print('Creating directory ' + dir + ' with mode mask 777')
|
print('Creating directory ' + dir + ' with mode mask 777')
|
||||||
os.makedir(dir, 0777)
|
os.makedir(dir, 0o777)
|
||||||
for shell in [item[0] for item in shells]:
|
for shell in [item[0] for item in shells]:
|
||||||
if conf[shell] is not None:
|
if conf[shell] is not None:
|
||||||
for command in commands:
|
for command in commands:
|
||||||
|
@ -499,10 +500,10 @@ class Setup():
|
||||||
for man in manpages:
|
for man in manpages:
|
||||||
if man is manpages[0]: man = ''
|
if man is manpages[0]: man = ''
|
||||||
else: man = '.' + man[0]
|
else: man = '.' + man[0]
|
||||||
files.append('manuals/manpage' + man + '.0' + comp)
|
files.append('manuals/manpage' + man + '.0.' + comp)
|
||||||
for shell in [item[0] for item in shells]:
|
for shell in [item[0] for item in shells]:
|
||||||
for command in commands
|
for command in commands:
|
||||||
files.append('completion/%s-completion.%s.%s' % (shell, 'sh' if shell == 'bash' else shell, command))
|
files.append('completion/%s-completion.%s.%s' % (shell, 'sh' if shell == 'bash' else shell, command))
|
||||||
|
|
||||||
self.removeLists(files, dirs)
|
self.removeLists(files, dirs)
|
||||||
|
|
||||||
|
@ -532,7 +533,7 @@ class Setup():
|
||||||
os.unlink(file)
|
os.unlink(file)
|
||||||
dir = file
|
dir = file
|
||||||
while True:
|
while True:
|
||||||
dir = dir[:dir.rfind(/) + 1]
|
dir = dir[:dir.rfind('/') + 1]
|
||||||
if ('/ponysay/' in dir) and (len(os.listdir(dir)) == 0):
|
if ('/ponysay/' in dir) and (len(os.listdir(dir)) == 0):
|
||||||
print('Removing newly empty directory %s' % (file))
|
print('Removing newly empty directory %s' % (file))
|
||||||
os.rmdir(dir)
|
os.rmdir(dir)
|
||||||
|
@ -544,7 +545,7 @@ class Setup():
|
||||||
if os.path.islink(dir): os.unlink(dir)
|
if os.path.islink(dir): os.unlink(dir)
|
||||||
else: shutil.rmtree(dir)
|
else: shutil.rmtree(dir)
|
||||||
while True:
|
while True:
|
||||||
dir = dir[:dir.rfind(/) + 1]
|
dir = dir[:dir.rfind('/') + 1]
|
||||||
if ('/ponysay/' in dir) and (len(os.listdir(dir)) == 0):
|
if ('/ponysay/' in dir) and (len(os.listdir(dir)) == 0):
|
||||||
print('Removing newly empty directory %s' % (file))
|
print('Removing newly empty directory %s' % (file))
|
||||||
os.rmdir(dir)
|
os.rmdir(dir)
|
||||||
|
@ -708,6 +709,8 @@ class Setup():
|
||||||
|
|
||||||
|
|
||||||
for key in conf:
|
for key in conf:
|
||||||
|
if '--with-' + key not in conf:
|
||||||
|
continue
|
||||||
if opts['--with-' + key] is not None:
|
if opts['--with-' + key] is not None:
|
||||||
if defaults[key] in (False, True):
|
if defaults[key] in (False, True):
|
||||||
conf[key] = True
|
conf[key] = True
|
||||||
|
@ -780,7 +783,7 @@ class ArgParser():
|
||||||
for arg in argv[1:]:
|
for arg in argv[1:]:
|
||||||
if get:
|
if get:
|
||||||
get = False
|
get = False
|
||||||
if (len(arg) > 2) and (arg[:2] in ('--', '++')):
|
if (arg is argv[-1]) or ((len(arg) > 2) and (arg[:2] in ('--', '++'))):
|
||||||
argqueue.append(None)
|
argqueue.append(None)
|
||||||
else:
|
else:
|
||||||
argqueue.append(arg)
|
argqueue.append(arg)
|
||||||
|
|
Loading…
Reference in a new issue