From a25dc638eae1a78ec60ec291c5f83c68c1cdbd0d Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 7 Feb 2010 16:47:02 +0100 Subject: Move bootstrap and pkglist to examples/ --- include/bootstrap | 118 ------------------------------------------------------ include/pkglist | 34 ---------------- 2 files changed, 152 deletions(-) delete mode 100755 include/bootstrap delete mode 100755 include/pkglist (limited to 'include') diff --git a/include/bootstrap b/include/bootstrap deleted file mode 100755 index 6d4013e..0000000 --- a/include/bootstrap +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env zsh -# bootstrap - populate a home with the most necessary scripts -# After running this, other packages can be installed using 'ct' -# Note: Since caretaker is written in zsh, this script also is. -# This way, I don't have to check for zsh somewhere in the script, -# and also have an excuse for using zsh here :P - -setopt err_exit -trap "print -P '\n%N:%i: bootstrap failed ($?)'" ZERR -typeset -i rcempty=0 pkglist_cgi=0 -typeset PKG_ROOT PKG_DIR default_path='~/packages' -: ${XDG_CONFIG_HOME=$HOME/.config} - -while [[ $1 == --* ]] { - case $1 in - --pkglist-cgi) - pkglist_cgi=1 - pkglist_cgi_url=$2 - shift - ;; - esac - shift -} - -if [[ -n $1 ]] { - PKG_ROOT=$1 - PKG_DIR=${~${2-$default_path}} -} else { - cat <<- meow - Usage: ./bootstrap [options] PKG_ROOT [PKG_DIR] - PKG_ROOT is an URI, either of the form proto://host/path, or just /path - Note: The path must be absolute, it may not contain a literal ~ - PKG_DIR is the path where caretaker and all further packages will be installed, - by default $default_path - - Options: - - --pkglist-cgi URL - Get the package list from URL - most useful with a git:// PKG_ROOT - meow - exit 100 -} - -# zsh keeps complaining about not having a configuration, -# so let's be kind and give it an empty one. -if ! [[ -e ~/.zshrc ]] { - echo 'Creating empty zshrc' - rcempty=1 - touch ~/.zshrc -} - -echo 'Creating the basic directory structure' -mkdir -p ~/bin -path=(~/bin $path) -mkdir -p $PKG_DIR/.collected/man/man{1..8} - -if ! which git &> /dev/null; then - echo 'It appears that git is not available on this system.' - echo '-Installation aborted-' - exit 200 -fi - -echo 'Fetching the caretaker package...' -cd $PKG_DIR -git clone $PKG_ROOT/caretaker caretaker -cd caretaker - -echo "Writing $XDG_CONFIG_HOME/caretaker/caretaker.conf" -mkdir -p $XDG_CONFIG_HOME/caretaker - -cat > $XDG_CONFIG_HOME/caretaker/caretaker.conf <<- flurbl - PKG_ROOT=($PKG_ROOT) - PKG_DIR="${PKG_DIR/$HOME/\$HOME}" -flurbl - -if (( pkglist_cgi )) { - - if which curl &> /dev/null; then - getcmd='curl -s' - elif which wget &> /dev/null; then - getcmd='wget -q -O -' - else - print STDERR "Unable to find a proper download program, fix $PKG_DIR/.pkglist\n" - getcmd='echo fixme >&2; exit 1;' - fi - - cat >> $XDG_CONFIG_HOME/caretaker/caretaker.conf <<-flurbl - PKGLIST_LOCAL=1 - PKGLIST_PATH=$PKG_DIR/.pkglist - flurbl - - cat > $PKG_DIR/.pkglist <<-flurbl - #!/bin/sh - $getcmd $pkglist_cgi_url - flurbl - - chmod +x $PKG_DIR/.pkglist -} - -echo 'Installing caretaker package' -rehash - -bin/checklinks -bin/ct eval update_collected caretaker -bin/ct eval exec_hook caretaker post-add -bin/ct update - -if (( rcempty )) { - echo 'Removing empty zshrc' - rm ~/.zshrc -} - -if [[ $PATH != *$HOME/bin* ]] { - cat <<- tac - Note: You may need to change your PATH to include ~/bin, - otherwise certain parts of caretaker will not work. - tac -} diff --git a/include/pkglist b/include/pkglist deleted file mode 100755 index 95696a2..0000000 --- a/include/pkglist +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env zsh -## on the PKG_HOST: list available packages -## used by ct update remote -## the PKG_PATH (package root path) is given as first argument ($1) - -if [[ ! -d $1 ]] { - echo "$0: package root directory '$1' does not exist!" >&2 - exit 1 -} - -setopt err_exit - -cd $1 -shift - -for i in *(-/); { - - # git repo - if [[ -d $i/.git ]] { - echo -n "$i git " - echo -n ${$(git --git-dir=$i/.git log -n 1)[2]} - echo " $*" - - # bare git repo - } elif [[ -d $i/objects && -d $i/refs ]] { - echo -n "$i git " - echo -n ${$(git --git-dir=$i log -n 1)[2]} - echo " $*" - - # unknown - } else { - echo "$i: Unsupported or no repository" >&2 - } -} -- cgit v1.2.3