From 53d2dd150c80d007bee87c5c5a701e08ff886e01 Mon Sep 17 00:00:00 2001 From: Valentin Lab Date: Fri, 13 Jan 2017 10:50:52 +0800 Subject: [PATCH] chg: dev: [base-0k] replacing ``install`` hook to run ``install.d`` scripts. --- precise/base-0k/hooks/install | 197 +--------------------------------- 1 file changed, 4 insertions(+), 193 deletions(-) diff --git a/precise/base-0k/hooks/install b/precise/base-0k/hooks/install index 446013d..a4a8cb8 100755 --- a/precise/base-0k/hooks/install +++ b/precise/base-0k/hooks/install @@ -2,196 +2,7 @@ set -eux # -x for verbose logging to juju debug-log -DOCKER=${DOCKER:-} - -## 0k git remote path -GIT_0K_BASE=${GIT_0K_BASE:-"git.0k.io:/var/git"} - -## 0k git remote options -GIT_0K_CLONE_OPTIONS=${GIT_0K_CLONE_OPTIONS:-""} - -apt-get -y install bash-completion wget bzip2 git-core less python-software-properties tmux sudo git - -apt-get -y install language-pack-en || true ## Protect debian against failure here - -## -## Allows to mount nfs shares -## - -## XXXvlab: interracts really badly with current chroot mode. Leaving -## daemonized process reparented to PID 1 that prevents umounting and -## finally making the script failing, and then lxc-create launch a lxc-destroy -## triggering a 'rm -rf' upon '/dev'... -#test "$(lsb_release -c -s)" == "precise" && apt-get -y install nfs-common - -## -## etckeeper -## - -if [ -z "$DOCKER" ]; then - apt-get install etckeeper - - sed -i 's/#VCS="git"/VCS="git"/g' /etc/etckeeper/etckeeper.conf - sed -i 's/VCS="bzr"/#VCS="bzr"/g' /etc/etckeeper/etckeeper.conf - - git config --global user.email "default@$(hostname)" - git config --global user.name "default" - - etckeeper init -fi - -## -## Git utilities -## - -cat < /etc/gitconfig -[alias] - co = checkout - com = commit - st = status - ci = commit - -[color] - branch = auto - diff = auto - interactive = auto - status = auto - -[core] - whitespace = fix - excludesfile = /etc/gitignore - -EOF - -cat < /etc/gitignore -docs/build/* -develop-eggs/* -*.pyc -*.o -.installed.cfg -eggs/* -*.egg-info/* -*.orig -dist/* -build/* -buildout.dev.cfg -*~ -*# -.#* -*.swp -*_flymake.* -.svn - -EOF - -## -## ldap client -## - -#? - - - -## -## kal-scripts -## - -## -## kal-scripts -## - -if ! [ -e /etc/apt/sources.list.d/kalysto.org.list ]; then - cat < /etc/apt/sources.list.d/kalysto.org.list - -## vlab's shell libraries -deb http://deb.kalysto.org no-dist kal-alpha kal-beta kal-main - -EOF - - ## Update only this repo: - apt-get update -o Dir::Etc::sourcelist="sources.list.d/kalysto.org.list" \ - -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" -fi - -## -## More shell configurations (prompt, functions) -## - -mkdir -p /etc/prompt - -cat < /etc/prompt/prompt.1.rc -PROMPT_COMMAND="" -parse_git_branch() { - ref=\$(git symbolic-ref HEAD 2> /dev/null) || return - echo -en ' (\033[0;32m'\${ref#refs/heads/}'\033[0m)' -} -export PS1="\[\033[0;37m\][\[\033[1;30m\]\u\[\033[0;37m\]@\[\033[1;30m\]\h\[\033[0;37m\]]-[\[\033[1;34m\]\w\[\033[0;37m\]]\\\$(parse_git_branch)\n\[\033[1;37m\]\\$ \[\033[0;37m\]" -EOF - -cat <> /root/.bashrc - -## History management - -export HISTCONTROL=ignoredups -export HISTSIZE=50000 -shopt -s histappend -PROMPT_COMMAND='history -a' - - -## Prompt easy management - -prompt() { - prompt_name="prompt.\$1.rc" - - for i in /etc/prompt ~/.prompt; do - [ -f "\$i/\$prompt_name" ] && - . "\$i/\$prompt_name" - done -} - - -## Git log command - -function glog() { - git log --graph --pretty=tformat:%C\(yellow\ normal\)%h%Creset\ %C\(blue\ normal\)%an%Creset\ %s\ %Cgreen%d%Creset -n 20 "\$@" -} - - -prompt 1 - -EOF - - -## -## ssh config -## - - -cp src/etc/ssh/lxc_git_access_id_rsa /etc/ssh/lxc_git_access_id_rsa -chmod 0600 /etc/ssh/lxc_git_access_id_rsa - -mkdir -p /root/.ssh - -cat < /root/.ssh/config - -Host git.0k.io - User lxc-user - IdentityFile /etc/ssh/lxc_git_access_id_rsa - UserKnownHostsFile /dev/null - StrictHostKeyChecking no - Port 10022 - -EOF - - -## -## install git sub -## - - -( - mkdir -p /opt/apps && - cd /opt/apps && - git clone $GIT_0K_CLONE_OPTIONS "$GIT_0K_BASE"/0k/git-sub && - ln -sf /opt/apps/git-sub/bin/git-sub /usr/lib/git-core/ -) +for script in hooks/install.d/*.sh; do + [ -f "$script" -a -x "$script" ] || continue + "$script" +done