X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=new_home_directory;h=3e492a37c7da0ff6bf9a4fc72a2349f38b44a489;hb=HEAD;hp=3554bacfecc810ffd050f0fae498dabe90531684;hpb=9f055b62920e1d64eb038dbd1a6fc1c8413d0e82;p=bin.git diff --git a/new_home_directory b/new_home_directory index 3554bac..51f3f86 100755 --- a/new_home_directory +++ b/new_home_directory @@ -5,7 +5,7 @@ # makes a new home directory; defaults to one that does not use ssh -GIT_BASE=http://git.donarmstrong.com/ +GIT_BASE=https://git.donarmstrong.com/ if [ "$1" = "ssh" ]; then GIT_BASE=git+ssh://git.donarmstrong.com/srv/git/ @@ -18,13 +18,29 @@ for pkg in mr vcsh; do echo "Package $pkg doesn't exist; getting it" mkdir -p local_packages/$pkg; (cd local_packages/$pkg; - apt-get download $pkg; - dpkg-deb -x $pkg*.deb . + deb_name=$pkg + if [ $pkg = "mr" ]; then + deb_name=myrepos + fi; + if which apt-get >/dev/null 2>&1; then + apt-get download $deb_name; + dpkg-deb -x ${deb_name}*.deb . + else + # ok, this host isn't Debian. + if [ "$pkg" = "mr" ]; then + wget http://http.debian.net/debian/pool/main/m/myrepos/myrepos_1.20160123_all.deb + ar p myrepos*.deb data.tar.xz|xz --decompress|tar -x + elif [ "$pkg" = "vcsh" ]; then + wget http://http.debian.net/debian/pool/main/v/vcsh/vcsh_1.20151229-1_all.deb + ar p vcsh*.deb data.tar.xz|xz --decompress|tar -x + fi; + + fi; ); mkdir -p bin ln ~/local_packages/$pkg/usr/bin/$pkg bin/$pkg -s - if [ "$pkg" == "mr" ]; then - echo "include = cat ~/local_packages/$pkg/usr/share/mr/*" >> ~/.mrconfig + if [ "$pkg" = "mr" ]; then + printf '[DEFAULT]\ninclude = cat ~/local_packages/%s/usr/share/mr/*' "$pkg" >> ~/.mrconfig fi; PATH="$HOME/local_packages/$pkg/usr/bin/:$PATH" export PATH @@ -46,7 +62,7 @@ for a in lib bin; do fi; done; -if [ "$1" == "ssh" ]; then +if [ "$1" = "ssh" ]; then mkdir -p .config/; (cd .config/; git checkout git+ssh://git.donarmstrong.com/srv/git_private/mr.git @@ -71,6 +87,14 @@ if [ ! -e .ssh/authorized_keys ]; then (cd .ssh/; ln authorized_keys_default authorized_keys -s; ) fi; +if [ ! -e ~/bin/.git ]; then + # OK, bin must have already existed; check it out directly + mv bin bin.tmp; + PATH=~/bin.tmp:$PATH mr checkout bin; + mv bin.tmp/* bin; + rmdir bin.tmp; +fi; + # do some cleanup; you might want to run git reset --hard in some # cases; we don't do so automatically in case there are local changes # that should be kept