Compare commits
2 Commits
b9e28b4ef3
...
0133f40a13
Author | SHA1 | Date | |
---|---|---|---|
0133f40a13 | |||
5fc3f59728 |
166
androiddev.sh
Normal file
166
androiddev.sh
Normal file
|
@ -0,0 +1,166 @@
|
|||
#!/bin/bash
|
||||
|
||||
ANDROID_HOME="/opt/android"
|
||||
get_python_version=$@
|
||||
|
||||
#INSTALL ANDROID PACKAGES
|
||||
function install_android_pkg ()
|
||||
{
|
||||
if [[ "$get_python_version" -eq " 2 " ]];
|
||||
then
|
||||
BUILDOZER_VERSION=0.39
|
||||
CYTHON_VERSION=0.28.6
|
||||
elif [[ "$get_python_version" -eq " 3 " ]];
|
||||
then
|
||||
BUILDOZER_VERSION=1.0
|
||||
CYTHON_VERSION=0.29.15
|
||||
else
|
||||
exit
|
||||
fi
|
||||
pip3 install buildozer==$BUILDOZER_VERSION
|
||||
pip3 install --upgrade cython==$CYTHON_VERSION
|
||||
}
|
||||
|
||||
# SYSTEM DEPENDENCIES
|
||||
function system_dependencies ()
|
||||
{
|
||||
if [[ "$get_python_version" -eq " 2 " ]];
|
||||
then
|
||||
apt -y update -qq
|
||||
apt -y install -qq --no-install-recommends python virtualenv python-pip python-setuptools python-wheel git wget unzip lbzip2 patch sudo software-properties-common
|
||||
|
||||
elif [[ "$get_python_version" -eq " 3 " ]];
|
||||
then
|
||||
apt -y update -qq
|
||||
apt -y install --no-install-recommends python3-pip pip3 python3 virtualenv python3-setuptools python3-wheel git wget unzip sudo patch bzip2 lzma
|
||||
else
|
||||
exit
|
||||
fi
|
||||
apt -y autoremove
|
||||
}
|
||||
|
||||
# build dependencies
|
||||
# https://buildozer.readthedocs.io/en/latest/installation.html#android-on-ubuntu-16-04-64bit
|
||||
function build_dependencies ()
|
||||
{
|
||||
dpkg --add-architecture i386
|
||||
apt -y update -qq
|
||||
if [[ "$get_python_version" -eq " 2 " ]];
|
||||
then
|
||||
apt -y install -qq --no-install-recommends build-essential ccache git python python-dev libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 zip zlib1g-dev zlib1g:i386
|
||||
elif [[ "$get_python_version" -eq " 3 " ]];
|
||||
then
|
||||
apt -y install -qq --no-install-recommends build-essential ccache git python3 python3-dev libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 zip zlib1g-dev zlib1g:i386
|
||||
else
|
||||
exit
|
||||
fi
|
||||
apt -y autoremove
|
||||
apt -y clean
|
||||
}
|
||||
|
||||
# RECIPES DEPENDENCIES
|
||||
function specific_recipes_dependencies ()
|
||||
{
|
||||
apt -y update -qq
|
||||
apt -y install -qq --no-install-recommends libffi-dev autoconf automake cmake gettext libltdl-dev libtool pkg-config
|
||||
apt -y autoremove
|
||||
apt -y clean
|
||||
}
|
||||
|
||||
# INSTALL NDK
|
||||
function install_ndk()
|
||||
{
|
||||
if [[ "$get_python_version" -eq " 2 " ]];
|
||||
then
|
||||
ANDROID_NDK_VERSION="17c"
|
||||
elif [[ "$get_python_version" -eq " 3 " ]];
|
||||
then
|
||||
ANDROID_NDK_VERSION=21
|
||||
else
|
||||
# echo "-----"
|
||||
exit
|
||||
fi
|
||||
ANDROID_NDK_HOME="${ANDROID_HOME}/android-ndk"
|
||||
ANDROID_NDK_HOME_V="${ANDROID_NDK_HOME}-r${ANDROID_NDK_VERSION}"
|
||||
# get the latest version from https://developer.android.com/ndk/downloads/index.html
|
||||
ANDROID_NDK_ARCHIVE="android-ndk-r${ANDROID_NDK_VERSION}-linux-x86_64.zip"
|
||||
ANDROID_NDK_DL_URL="https://dl.google.com/android/repository/${ANDROID_NDK_ARCHIVE}"
|
||||
echo "Downloading ndk.........................................................................."
|
||||
wget -nc ${ANDROID_NDK_DL_URL}
|
||||
mkdir --parents "${ANDROID_NDK_HOME_V}"
|
||||
unzip -q "${ANDROID_NDK_ARCHIVE}" -d "${ANDROID_HOME}"
|
||||
ln -sfn "${ANDROID_NDK_HOME_V}" "${ANDROID_NDK_HOME}"
|
||||
rm -rf "${ANDROID_NDK_ARCHIVE}"
|
||||
}
|
||||
|
||||
# INSTALL SDK
|
||||
function install_sdk()
|
||||
{
|
||||
if [[ "$get_python_version" -eq " 2 " ]];
|
||||
then
|
||||
ANDROID_SDK_BUILD_TOOLS_VERSION="28.0.3"
|
||||
elif [[ "$get_python_version" -eq " 3 " ]];
|
||||
then
|
||||
ANDROID_SDK_BUILD_TOOLS_VERSION="29.0.2"
|
||||
else
|
||||
exit
|
||||
fi
|
||||
ANDROID_SDK_HOME="${ANDROID_HOME}/android-sdk"
|
||||
# get the latest version from https://developer.android.com/studio/index.html
|
||||
ANDROID_SDK_TOOLS_VERSION="4333796"
|
||||
ANDROID_SDK_TOOLS_ARCHIVE="sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip"
|
||||
ANDROID_SDK_TOOLS_DL_URL="https://dl.google.com/android/repository/${ANDROID_SDK_TOOLS_ARCHIVE}"
|
||||
echo "Downloading sdk.........................................................................."
|
||||
wget -nc ${ANDROID_SDK_TOOLS_DL_URL}
|
||||
mkdir --parents "${ANDROID_SDK_HOME}"
|
||||
unzip -q "${ANDROID_SDK_TOOLS_ARCHIVE}" -d "${ANDROID_SDK_HOME}"
|
||||
rm -rf "${ANDROID_SDK_TOOLS_ARCHIVE}"
|
||||
# update Android SDK, install Android API, Build Tools...
|
||||
mkdir --parents "${ANDROID_SDK_HOME}/.android/"
|
||||
echo '### Sources for Android SDK Manager' > "${ANDROID_SDK_HOME}/.android/repositories.cfg"
|
||||
# accept Android licenses (JDK necessary!)
|
||||
apt -y update -qq
|
||||
apt -y install -qq --no-install-recommends openjdk-8-jdk
|
||||
apt -y autoremove
|
||||
yes | "${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "build-tools;${ANDROID_SDK_BUILD_TOOLS_VERSION}" > /dev/null
|
||||
# download platforms, API, build tools
|
||||
"${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "platforms;android-24" > /dev/null
|
||||
"${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "platforms;android-28" > /dev/null
|
||||
"${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "build-tools;${ANDROID_SDK_BUILD_TOOLS_VERSION}" > /dev/null
|
||||
"${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "extras;android;m2repository" > /dev/null
|
||||
find /opt/android/android-sdk -type f -perm /0111 -print0|xargs -0 chmod a+x
|
||||
chown -R buildbot.buildbot /opt/android/android-sdk
|
||||
chmod +x "${ANDROID_SDK_HOME}/tools/bin/avdmanager"
|
||||
}
|
||||
|
||||
# INSTALL APACHE-ANT
|
||||
function install_ant()
|
||||
{
|
||||
if [[ "$get_python_version" -eq " 2 " ]];
|
||||
then
|
||||
APACHE_ANT_VERSION="1.9.4"
|
||||
elif [[ "$get_python_version" -eq " 3 " ]];
|
||||
then
|
||||
APACHE_ANT_VERSION="1.10.7"
|
||||
else
|
||||
exit
|
||||
fi
|
||||
|
||||
APACHE_ANT_ARCHIVE="apache-ant-${APACHE_ANT_VERSION}-bin.tar.gz"
|
||||
APACHE_ANT_DL_URL="http://archive.apache.org/dist/ant/binaries/${APACHE_ANT_ARCHIVE}"
|
||||
APACHE_ANT_HOME="${ANDROID_HOME}/apache-ant"
|
||||
APACHE_ANT_HOME_V="${APACHE_ANT_HOME}-${APACHE_ANT_VERSION}"
|
||||
echo "Downloading ant.........................................................................."
|
||||
wget -nc ${APACHE_ANT_DL_URL}
|
||||
tar -xf "${APACHE_ANT_ARCHIVE}" -C "${ANDROID_HOME}"
|
||||
ln -sfn "${APACHE_ANT_HOME_V}" "${APACHE_ANT_HOME}"
|
||||
rm -rf "${APACHE_ANT_ARCHIVE}"
|
||||
}
|
||||
|
||||
system_dependencies
|
||||
build_dependencies
|
||||
specific_recipes_dependencies
|
||||
install_android_pkg
|
||||
install_ndk
|
||||
install_sdk
|
||||
install_ant
|
39
buildbot-osx.sh
Normal file
39
buildbot-osx.sh
Normal file
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
|
||||
#unset PYTHONPATH
|
||||
#export CURL_CA_BUNDLE=/usr/local/share/ca-certificates/bitmessage-proxy.crt
|
||||
|
||||
#echo "--cacert /usr/local/share/ca-certificates/bitmessage-proxy.crt" > ~/.curlrc
|
||||
|
||||
#brew install https://storage.bitmessage.org/python@2--2.7.17_1.high_sierra.bottle.1.tar.gz
|
||||
#cp /usr/local/share/ca-certificates/bitmessage-proxy.crt /usr/local/etc/openssl/certs/bitmessage-proxy.pem && /usr/local/opt/openssl@1.0/bin/c_rehash
|
||||
#/usr/local/opt/python@2/bin/python -m pip config set global.cert /usr/local/share/ca-certificates/bitmessage-proxy.crt
|
||||
/usr/local/opt/python@2/bin/python -m pip install py2app
|
||||
#brew tap cartr/qt4
|
||||
#brew install qt@4
|
||||
#brew install pyqt@4
|
||||
|
||||
export LDFLAGS="-L/usr/local/opt/openssl@1.0/lib"
|
||||
export CPPFLAGS="-I/usr/local/opt/openssl@1.0/include"
|
||||
|
||||
#/usr/local/opt/python@2/bin/python -m pip install sip
|
||||
export ARCHFLAGS="-arch i386 -arch x86_64"
|
||||
#buildscripts/osx.sh test
|
||||
|
||||
#curl -O https://www.riverbankcomputing.com/static/Downloads/sip/4.19.24/sip-4.19.24.tar.gz
|
||||
#hg clone https://www.riverbankcomputing.com/hg/sip
|
||||
#cd sip
|
||||
#hg archive -r 4.19.24 -t tgz ../sip-4.9.24.tar.gz
|
||||
curl -O https://storage.bitmessage.org/sip-4.19.24.tar.gz
|
||||
tar xzvf sip-4.19.24.tar.gz
|
||||
cd sip-4.19.24
|
||||
/usr/local/opt/python@2/bin/python configure.py
|
||||
make && make install
|
||||
cd ..
|
||||
make -C src/bitmsghash
|
||||
mv src/bitmsghash/a.out src/bitmsghash/bitmsghash.so
|
||||
cd src && /usr/local/opt/python@2/bin/python build_osx.py py2app
|
||||
if [ $? -ne 0 ] ; then
|
||||
exit 1
|
||||
fi
|
||||
hdiutil create -fs HFS+ -volname "Bitmessage" -srcfolder dist/Bitmessage.app dist/bitmessage-test.dmg
|
177
cloud-init/maas/user-data
Normal file
177
cloud-init/maas/user-data
Normal file
|
@ -0,0 +1,177 @@
|
|||
## template: jinja
|
||||
#cloud-config
|
||||
|
||||
# ordering
|
||||
#cloud_final_modules:
|
||||
|
||||
|
||||
# packages
|
||||
package_update: true
|
||||
package_upgrade: false
|
||||
packages:
|
||||
- libvirt-daemon-system
|
||||
- linux-modules-{{sys_info.release}}
|
||||
- linux-modules-extra-{{sys_info.release}}
|
||||
- nfs-common
|
||||
- ovmf
|
||||
- cachefilesd
|
||||
- cloud-image-utils
|
||||
- networkd-dispatcher
|
||||
- autosuspend
|
||||
- virtinst
|
||||
- lm-sensors
|
||||
- docker.io
|
||||
- hfsprogs
|
||||
- ntfs-3g-dev
|
||||
- dosfstools
|
||||
|
||||
# root
|
||||
disable_root: false
|
||||
ssh_deletekeys: true
|
||||
ssh_pwauth: false
|
||||
ssh_authorized_keys:
|
||||
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVrfim4EMF7FzAnQF51frpsPgN\
|
||||
JxfkzvBEC80wgwwP0AzD2iFPS57a6sXbie+sX7ALX89gmRwFtrKOwGYRYoQfU6dA\
|
||||
hPirbpKY4BcTQx8N31fazceVJL0Y1kqSngNjYMbo1q0L5dgLBtPoVGcnriFAVGLg\
|
||||
1+p9FIJTDK4rbwnYyDJyjruSAfnqVaWmqlMNAZNhqxOikBOh5M+3qPj0wmSKOE1r\
|
||||
oE4HmQKUl62UjDWTkLLNx5u75QywQz+r8S0QNkSu/0iaeUdgkv3p0SsU4X5dmwuZ\
|
||||
dbySMWkqy0zUCky2+qDqxzN6wHgnePZcedSobsIpxwDK0IrHpbaaBzVNn1uh shu\
|
||||
rdeek@nitrokey1"
|
||||
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1ADz4g7BkLoq9CEffl7jxp4Ms\
|
||||
Brtv12rYpskUMV2HKH48Uwue/yjqvwxaRk4Nd0TG2fQisqsB3GYLRe+6R00zbn2k\
|
||||
A5k49gQEt6EnVVlsTWSp6iutCi8CEOSxFew/r//NOJbKQPWN2yCh8TQowks+lM/z\
|
||||
wlFhzfoqDjgMCU13IW/O9RphnMACnx1o/EvUeoozcCMbAzJOq4I/YOSJwavuTUUC\
|
||||
lnD4tyPs1HyYVcw+4Bti1QERkE+tbbgXUAy7WvxXpEflfenHHIAnjqUCW3LUJ6wT\
|
||||
roq55FQ1RT7WE+XddL5OI+o4vbQVG8cbYXwCk6/m+P051v9PfnyecI6qj8wd shu\
|
||||
rdeek@yubikey1"
|
||||
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Pebz7cNpL/Hikzfwzdnujcd1\
|
||||
BWw4D4e1OXQaoCGcq2/gL+Wym8InL5qZ5hOgaF8lRVX5ys7m75uOyg8LOIRu0A27\
|
||||
TzWzf9brV8TF5rsIhHYSK0CAA81G5NqOQgP3b7SANcs3PEWtxz+OeqFo7dcsQZij\
|
||||
czRNunM73CBsTFZQCmNE2ZBh2QaQ1d/1lmYTqGlJ8DJrqeXXVc3S1Jln2nZ49XQM\
|
||||
qdG49KvU66Xhd8kaukucDBl8iNLWpQ+N9Ao1SOnNlJVpLi6XUy9Hx3X3wVbrLQaH\
|
||||
slIG6+AeZGpO/l3gKrQM3fjM2H+w9ow1rWcMdHgjxWZUryE7K1vzbpm4vNIf shu\
|
||||
rdeek@brusli"
|
||||
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoNYZ1L/rR44/sUb6fzTXb99Cr\
|
||||
P+B9j01DRin5RT8Y59oD9R9TvsQcLztpXzvl4JQJfvjGou3ywVAuXTf8ksf/VHWn\
|
||||
fGtZ3X1nWvuAeERwTFIIl8gR9xwTVjXDsLp3Feiqw6wHKdMI3BqI3oJ/Wn6gBxWg\
|
||||
nm5UZbZMdWlAEAH1ucdxTOZ/+3aTC/hGb0N6ujp7MExTSUAs5xeSKHpocTdkD2Ra\
|
||||
jC2Y+mbug0yt92XCHZX39zsQcxFd4NokTa2iJNO0bAYWXlXDPWRLuUfOrWWfuLn+\
|
||||
OPH71pj+ysb6jrwFk+1sGV9h1GuxZne1+i42CGKoKomJaCMLE7kvMF6Solu/ shu\
|
||||
rdeek@whisper"
|
||||
|
||||
users:
|
||||
- name: pool
|
||||
shell: /bin/bash
|
||||
ssh-authorized-keys:
|
||||
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Pebz7cNpL/Hikzfwzdnujcd1\
|
||||
BWw4D4e1OXQaoCGcq2/gL+Wym8InL5qZ5hOgaF8lRVX5ys7m75uOyg8LOIRu0A27\
|
||||
TzWzf9brV8TF5rsIhHYSK0CAA81G5NqOQgP3b7SANcs3PEWtxz+OeqFo7dcsQZij\
|
||||
czRNunM73CBsTFZQCmNE2ZBh2QaQ1d/1lmYTqGlJ8DJrqeXXVc3S1Jln2nZ49XQM\
|
||||
qdG49KvU66Xhd8kaukucDBl8iNLWpQ+N9Ao1SOnNlJVpLi6XUy9Hx3X3wVbrLQaH\
|
||||
slIG6+AeZGpO/l3gKrQM3fjM2H+w9ow1rWcMdHgjxWZUryE7K1vzbpm4vNIf shu\
|
||||
rdeek@brusli"
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFqJU6yabcgGi6lYSusxdpKo\
|
||||
gw6XR320kDCenRfxuJkH buildbot@dumb.bitmessage.at"
|
||||
|
||||
# system settings
|
||||
timezone: Europe/Vienna
|
||||
hostname: {{v1.instance_id}}
|
||||
fqdn: {{v1.instance_id}}.homedevops
|
||||
|
||||
# disk settings
|
||||
disk_setup:
|
||||
/dev/nvme0n1:
|
||||
table_type: gpt
|
||||
layout: true
|
||||
overwrite: false
|
||||
fs_setup:
|
||||
- label: cache
|
||||
device: /dev/nvme0n1
|
||||
filesystem: ext4
|
||||
partition: 1
|
||||
overwrite: false
|
||||
|
||||
# change defaults
|
||||
write_files:
|
||||
- path: /etc/default/cachefilesd
|
||||
content: |
|
||||
RUN="yes"
|
||||
- path: /etc/networkd-dispatcher/routable.d/50-wakeonlan
|
||||
permissions: '0750'
|
||||
owner: root:root
|
||||
content: |
|
||||
#!/bin/bash
|
||||
/sbin/ethtool -s "$IFACE" wol g
|
||||
- path: /etc/systemd/system/docker.service.d/tcp.conf
|
||||
owner: root:root
|
||||
content: |
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock
|
||||
- path: /etc/autosuspend.conf
|
||||
content: |
|
||||
[general]
|
||||
interval = 30
|
||||
idle_time = 1800
|
||||
suspend_cmd = /bin/systemctl {{ds.meta_data.suspend_cmd}}
|
||||
wakeup_cmd = sh -c 'echo 0 > /sys/class/rtc/rtc0/wakealarm && echo {timestamp:.0f} >/sys/class/rtc/rtc0/wakealarm'
|
||||
woke_up_file = /var/run/autosuspend-just-woke-up
|
||||
lock_file = /var/lock/autosuspend.lock
|
||||
lock_timeout = 30
|
||||
|
||||
[check.RemoteUsers]
|
||||
class = Users
|
||||
enabled = true
|
||||
name = root
|
||||
terminal = .*
|
||||
host = [0-9].*
|
||||
|
||||
[check.Processes]
|
||||
enabled = true
|
||||
processes = qemu-img,qemu-system-x86_64,qemu-system-i386,qemu-system-x86_64-spice,containerd-shim
|
||||
|
||||
[check.Load]
|
||||
enabled = true
|
||||
threshold = 2.5
|
||||
|
||||
# mount
|
||||
mounts:
|
||||
- [ LABEL=cache, /var/cache/disk, auto, "discard,user_xattr" ]
|
||||
- [ /var/cache/disk/ephemeral, /var/lib/libvirt/ephemeral, none, "bind" ]
|
||||
- [ /var/cache/disk/docker, /var/lib/docker, none, "bind" ]
|
||||
- [ /var/cache/disk/fscache, /var/cache/fscache, none, "bind" ]
|
||||
- [ "files:/srv/nfs4/images", /var/lib/libvirt/backingstore, "nfs4",
|
||||
"ro,rsize=131072,wsize=131072,fsc,hard,intr,proto=tcp,sync,nofail" ]
|
||||
|
||||
# early
|
||||
bootcmd:
|
||||
- [ mkdir, -p, /var/cache/disk,
|
||||
/var/lib/libvirt/backingstore,
|
||||
/var/lib/libvirt/ephemeral,
|
||||
/var/cache/fscache,
|
||||
/var/lib/docker ]
|
||||
|
||||
# post boot
|
||||
runcmd:
|
||||
- [ systemctl, stop, sshd ]
|
||||
- [ mkdir, -p, /var/cache/disk/ephemeral, /var/cache/disk/docker,
|
||||
/var/cache/disk/fscache ]
|
||||
- [ iptables, -N, dockerapi ]
|
||||
- [ iptables, -A, dockerapi, -s, 192.168.42.20, -j, ACCEPT ]
|
||||
- [ iptables, -A, dockerapi, -j, DROP ]
|
||||
- [ iptables, -I, INPUT, -p, tcp, '--dport', 2375, -j, dockerapi ]
|
||||
- [ apt, -y, upgrade ]
|
||||
- [ sed, -i, 's/.*MaxSessions.*/MaxSessions 200/g', /etc/ssh/sshd_config ]
|
||||
- [ usermod, -aG, 'docker,libvirt', pool ]
|
||||
- [ mount, -a ]
|
||||
- [ wget, 'https://storage.bitmessage.org/qemu.hook', -O,
|
||||
/etc/libvirt/hooks/qemu ]
|
||||
- [ chmod, a+rx, /etc/libvirt/hooks/qemu ]
|
||||
- [ systemctl, restart, libvirtd ]
|
||||
- [ wget, 'https://storage.bitmessage.org/virt-install-all.sh', -O,
|
||||
/usr/local/bin/virt-install-all.sh ]
|
||||
- [ chmod, a+rx, /usr/local/bin/virt-install-all.sh ]
|
||||
- [ /usr/local/bin/virt-install-all.sh ]
|
||||
- 'sensors-detect --auto|sed -n "/#----cut here---/,/#----cut here----/p"|grep -vE "^#"|xargs -n 1 modprobe'
|
||||
- [ systemctl, start, sshd ]
|
||||
- [ systemctl, start, docker ]
|
Loading…
Reference in New Issue
Block a user