#!/bin/sh # Add "deb-src" line and backports. info 'Configuring APT' cat >"${target}/etc/apt/sources.list" <<-EOF deb http://httpredir.debian.org/debian jessie main deb-src http://httpredir.debian.org/debian jessie main EOF cat >"${target}/etc/apt/sources.list.d/jessie-backports.list" <<-EOF deb http://httpredir.debian.org/debian jessie-backports main deb-src http://httpredir.debian.org/debian jessie-backports main EOF in_target apt-get update || return 1 # Purge systemd. info 'Purging systemd' in_target apt-get -q -y purge libpam-systemd systemd || return 1 in_target apt-get -q -y --purge autoremove || return 1 # Disable services. printf '#!/bin/sh\n\nexit 101\n' >"${target}/usr/sbin/policy-rc.d" chmod a+x "${target}/usr/sbin/policy-rc.d" # Install LedgerSMB. info 'Installing LedgerSMB' cat >"${target}/etc/apt/sources.list.d/ledgersmb.list" <<-EOF deb https://apt.ledgersmb.org/ jessie main deb-src https://apt.ledgersmb.org/ jessie main EOF wget -O - https://apt.ledgersmb.org/apt-ledgersmb-org_public-key.asc | \ in_target apt-key add - || return 1 in_target apt-get update || return 1 i=0; while [ ${i} -lt 3 ]; do i=$((${i} + 1)) DEBIAN_FRONTEND=noninteractive in_target apt-get -q -y install \ ledgersmb && break done || return 1 # Ugly hack: mv "${target}/etc/rc.local" "${target}/etc/rc.local.orig" cat >"${target}/etc/rc.local" <<-EOF #!/bin/sh -e pg_dropcluster --stop 9.4 main pg_createcluster --locale en_US.UTF-8 --start 9.4 main /usr/share/ledgersmb/tools/config-lsmb-db-user.sh ledgersmb LEDGERSMBINITIAL sudo -u postgres createuser -d odoo mv /etc/rc.local.orig /etc/rc.local EOF chmod a+x "${target}/etc/rc.local" # Another ugly hack: allow non-localhost connections. sed -i '29,31s/^ / #/' "${target}/etc/apache2/conf-available/ledgersmb.conf" # Install Odoo. info 'Installing Odoo' cat >"${target}/etc/apt/sources.list.d/odoo.list" <<-EOF deb http://nightly.odoo.com/9.0/nightly/deb/ ./ deb-src http://nightly.odoo.com/9.0/nightly/deb/ ./ EOF wget -O - https://nightly.odoo.com/odoo.key | in_target apt-key add - || \ return 1 in_target apt-get update || return 1 i=0; while [ ${i} -lt 3 ]; do i=$((${i} + 1)) DEBIAN_FRONTEND=noninteractive in_target apt-get -q -y install \ odoo && break done || return 1 # Enable services. rm -f "${target}/usr/sbin/policy-rc.d" # Remove packages from APT cache. in_target apt-get clean || return 1 # Update initramfs. info 'Updating initramfs' in_target update-initramfs -u # Configure network interfaces. cat >"${target}/etc/network/interfaces" <<-EOF # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 allow-hotplug eth0 iface eth0 inet dhcp EOF # Use temporary configuation SSH key. install -d -o 1000 -g 1000 -m 0700 "${target}/home/user/.ssh" || return 1 cat >"${target}/home/user/.ssh/id_rsa" <<-EOF -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCzAF0zqeS2X0TuVOIxqMec3lMzZy/MHQswPP+BQkmc2D3YVb2x px1YAAweQnfZ27pGJkDztStOtMQJeaOsnAVdm2NSe+hEdaKAOxf9p6t+F930HM/w 1wkm1ddlsnCaaCipzGVOM77Q/brEItWvuq8G0+/fgN1o4pZzl4Bub/4D4QIDAQAB AoGAS+wKnAAiXuv3m7LrIa75w2JVHcdVcZicB0DICnYoLNtXF+v+AlzkSE/009zT YtccoeZVxEiCbuajA3XRY0PlzgGHTbsGn1BWqI9cjdXTiotnjzOH8zr3JiMZMWwf hqwbtleP+yruNPHMxQ8dKVXv875NKJW+aArmQWtjeMOy/vECQQDdsvPJ4bUu8M7/ MXqGtz8CJbrRp+ZMKUw0WuwSwTfHRs/Jp27mWf5+t/u+RN8WK/RRD8FHvz4azLhr sNUFiE69AkEAzrI/DFBFOM5mUECujs2UvCCeWZiAi9QoJ7kDrrAkcG+hMalpNUU3 SUZ76stBUk3hZNpc82aq0a0o8ac0VrBd9QJAB3nbYrlrxLN2J4Dhot1XEJl5HUzO JU9XNITEZTWCzgODSkeNI9NxE5DcumPUKgk9aeZgHC1EyN6ScX87D76y+QJAL8DE ii69X1toDeBzs7BRTYlnrCFsiWGRiWPYMvKk6IkRv6x5DwKXvEkZdexRghdWHHvK f71Xd6u+yt2rXN/QRQJBALv6SwbokdXp5qKJV48QG452dSOT7FQEINnCsIeNUKP6 9YyaZxqLia6pEbEKTSRdztXaMqRsrmOG8E084sFg8DQ= -----END RSA PRIVATE KEY----- EOF in_target chown user:user '/home/user/.ssh/id_rsa' in_target chmod 0600 '/home/user/.ssh/id_rsa' # Set up SSH known hosts. cat >"${target}/home/user/.ssh/known_hosts" <<-EOF |1|fypb7kn7NH0fqHGj9Xs/rdpO71s=|SCtg2BdMNB9zL5bAPYkJy1uiNSM= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXcG5BuZi4947D9WqY1L6CzaH4Qjw7YA7Dja+09y0nZjLVDd1saZCPkTjo1PEHxVCvSHvc0VmRqIZ2wUGtuqIlgGPMphCPAtdHN63YcNXqIhjEygLsaSZgy1Qz33YQF+YSANbeZQ4vnqiYr3C1IA7Cw4km/0s1BvP3t9yJf/iYODZqjVqUhqB4hzXJcBZHrgnM4LmPD4NH81fCqpwfRviNQNFAqd/aT1YTvgdn46HTVz7dV8ahW6SLXBTJZvO9dLAAKOPPZwuluaRphBqjPLC83zsihQ884SAH+AKcpN1ne73UZUuA1Gyk3HW+a/ngbzm1nmoeC0Sm1nNlTvC4WrLD |1|z7it+otnWcn/98YKdeaBCXl+ug8=|NFRpdQZBMTAuWbUDAqXLptFR5Ao= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXcG5BuZi4947D9WqY1L6CzaH4Qjw7YA7Dja+09y0nZjLVDd1saZCPkTjo1PEHxVCvSHvc0VmRqIZ2wUGtuqIlgGPMphCPAtdHN63YcNXqIhjEygLsaSZgy1Qz33YQF+YSANbeZQ4vnqiYr3C1IA7Cw4km/0s1BvP3t9yJf/iYODZqjVqUhqB4hzXJcBZHrgnM4LmPD4NH81fCqpwfRviNQNFAqd/aT1YTvgdn46HTVz7dV8ahW6SLXBTJZvO9dLAAKOPPZwuluaRphBqjPLC83zsihQ884SAH+AKcpN1ne73UZUuA1Gyk3HW+a/ngbzm1nmoeC0Sm1nNlTvC4WrLD EOF in_target chown user:user '/home/user/.ssh/known_hosts' in_target chmod 0600 '/home/user/.ssh/known_hosts' # Bootstrap vcsh and mr. info 'Bootstrapping dotfiles' rm -f "${target}/home/user/.profile" "${target}/home/user/.bashrc" \ "${target}/home/user/.bash_logout" in_target sudo -u user vcsh clone ssh://git@git.pehjota.net/dotfiles/mr.git mr \ || return 1 in_target sudo -u user mr update || return 1 # Generate target's SSH keypair. #rm -f "${target}/home/user/.ssh/id_rsa" "${target}/home/user/.ssh/id_rsa.pub" \ # || return 1 #in_target ssh-keygen -b 4096 -C user@erp1 -t rsa -f /home/user/.ssh/id_rsa \ #