mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
70 lines
1.6 KiB
Bash
70 lines
1.6 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
set -eu
|
||
|
|
||
|
platform="$1"
|
||
|
|
||
|
env
|
||
|
|
||
|
cd ~/
|
||
|
|
||
|
if [ "${platform}" = "freebsd" ]; then
|
||
|
pkg install -y curl
|
||
|
|
||
|
if [ ! -f bootstrap.sh ]; then
|
||
|
curl "https://raw.githubusercontent.com/mattclay/ansible-hacking/master/bootstrap.sh" -o bootstrap.sh -#
|
||
|
fi
|
||
|
|
||
|
chmod +x bootstrap.sh
|
||
|
./bootstrap.sh pip -y -q
|
||
|
|
||
|
pkg install -y \
|
||
|
bash \
|
||
|
devel/ruby-gems \
|
||
|
gtar \
|
||
|
mercurial \
|
||
|
rsync \
|
||
|
ruby \
|
||
|
subversion \
|
||
|
sudo \
|
||
|
zip
|
||
|
fi
|
||
|
|
||
|
pip install virtualenv
|
||
|
|
||
|
# Tests assume loopback addresses other than 127.0.0.1 will work.
|
||
|
# Add aliases for loopback addresses used by tests.
|
||
|
|
||
|
for i in 3 4 254; do
|
||
|
ifconfig lo0 alias "127.0.0.${i}" up
|
||
|
done
|
||
|
|
||
|
ifconfig lo0
|
||
|
|
||
|
# Since tests run as root, we also need to be able to ssh to localhost as root.
|
||
|
sed -i '' 's/^# *PermitRootLogin.*$/PermitRootLogin yes/;' /etc/ssh/sshd_config
|
||
|
|
||
|
if [ "${platform}" = "freebsd" ]; then
|
||
|
# Restart sshd for configuration changes and loopback aliases to work.
|
||
|
service sshd restart
|
||
|
fi
|
||
|
|
||
|
# Generate our ssh key and add it to our authorized_keys file.
|
||
|
# We also need to add localhost's server keys to known_hosts.
|
||
|
|
||
|
if [ ! -f "${HOME}/.ssh/id_rsa.pub" ]; then
|
||
|
ssh-keygen -q -t rsa -N '' -f "${HOME}/.ssh/id_rsa"
|
||
|
cp "${HOME}/.ssh/id_rsa.pub" "${HOME}/.ssh/authorized_keys"
|
||
|
for key in /etc/ssh/ssh_host_*_key.pub; do
|
||
|
pk=$(cat "${key}")
|
||
|
echo "localhost ${pk}" >> "${HOME}/.ssh/known_hosts"
|
||
|
done
|
||
|
fi
|
||
|
|
||
|
# Improve prompts on remote host for interactive use.
|
||
|
cat << EOF > ~/.bashrc
|
||
|
alias ls='ls -G'
|
||
|
export PS1='\[\e]0;\u@\h: \w\a\]\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||
|
cd ~/ansible/
|
||
|
EOF
|