mirror of
https://github.com/samsonjs/vdirsyncer.git
synced 2026-03-25 08:55:50 +00:00
Creating a docker image and then running inside of it was a bit complex, and tricky to debug when things needed maintenance. Just use a debian/ubuntu container, but run our script inside of it. Manually debugging is much easier, and the whole setup is a bit simpler.
49 lines
1.3 KiB
Bash
49 lines
1.3 KiB
Bash
#!/bin/bash
|
|
#
|
|
# This script is mean to be run inside a dedicated container,
|
|
# and not interatively.
|
|
|
|
set -ex
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
apt-get update
|
|
apt-get install -y build-essential fakeroot debhelper git
|
|
apt-get install -y python3-all python3-pip python3-venv
|
|
apt-get install -y ruby ruby-dev
|
|
|
|
pip3 install virtualenv virtualenv-tools3
|
|
virtualenv -p python3 /vdirsyncer/env/
|
|
|
|
gem install fpm
|
|
|
|
# See https://github.com/jordansissel/fpm/issues/1106#issuecomment-461678970
|
|
pip3 uninstall -y virtualenv
|
|
echo 'python3 -m venv "$@"' > /usr/local/bin/virtualenv
|
|
chmod +x /usr/local/bin/virtualenv
|
|
|
|
cp -r /source/ /vdirsyncer/vdirsyncer/
|
|
cd /vdirsyncer/vdirsyncer/ || exit 2
|
|
mkdir /vdirsyncer/pkgs/
|
|
|
|
basename -- *.tar.gz .tar.gz | cut -d'-' -f2 | sed -e 's/\.dev/~/g' | tee version
|
|
# XXX: Do I really not want google support included?
|
|
(echo -n *.tar.gz; echo '[google]') | tee requirements.txt
|
|
fpm --verbose \
|
|
--input-type virtualenv \
|
|
--output-type deb \
|
|
--name "vdirsyncer-latest" \
|
|
--version "$(cat version)" \
|
|
--prefix /opt/venvs/vdirsyncer-latest \
|
|
--depends python3 \
|
|
requirements.txt
|
|
|
|
mv /vdirsyncer/vdirsyncer/*.deb /vdirsyncer/pkgs/
|
|
|
|
cd /vdirsyncer/pkgs/
|
|
dpkg -i -- *.deb
|
|
|
|
# Check that it works:
|
|
LC_ALL=C.UTF-8 LANG=C.UTF-8 /opt/venvs/vdirsyncer-latest/bin/vdirsyncer --version
|
|
|
|
cp -- *.deb /source/
|