From f9da89ba8c1c0a0b95ea75edf9ff80cd69735313 Mon Sep 17 00:00:00 2001 From: Michele Bologna Date: Fri, 3 Apr 2020 16:54:46 +0200 Subject: [PATCH] Refactor: extract build into separate .sh --- Dockerfile | 124 ++------------------------------------- build.sh | 141 +++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 1 + 3 files changed, 146 insertions(+), 120 deletions(-) create mode 100755 build.sh diff --git a/Dockerfile b/Dockerfile index cbc8804..8dc8a2d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,127 +3,11 @@ LABEL maintainer="Michele Bologna " LABEL name="BitlBee Docker container by Michele Bologna" LABEL version="mb-3.6-20200107" -ENV VERSION=3.6 +ENV BITLBEE_VERSION=3.6 -RUN apt update && \ -apt install -y --no-install-recommends autoconf automake build-essential gettext gcc libtool make \ -libglib2.0-dev libhttp-parser-dev libotr5-dev libpurple-dev libgnutls28-dev \ -libjson-glib-dev libpng-dev libolm-dev libprotobuf-c-dev protobuf-c-compiler \ -libgcrypt20-dev libmarkdown2-dev libpurple-dev libsqlite3-dev libwebp-dev libtool-bin && \ -cd && \ -curl -LO# https://get.bitlbee.org/src/bitlbee-$VERSION.tar.gz && \ -curl -LO# https://github.com/EionRobb/skype4pidgin/archive/1.5.tar.gz && \ -curl -LO# https://github.com/majn/telegram-purple/releases/download/v1.4.2/telegram-purple_1.4.2.orig.tar.gz && \ -curl -LO# https://github.com/bitlbee/bitlbee-facebook/archive/v1.2.0.tar.gz && \ -hg clone https://bitbucket.org/EionRobb/purple-hangouts/ && \ -git clone https://alexschroeder.ch/cgit/bitlbee-mastodon && \ -hg clone https://bitbucket.org/EionRobb/purple-rocketchat && \ -curl -LO# https://github.com/sm00th/bitlbee-discord/archive/0.4.3.tar.gz && \ -git clone https://github.com/dylex/slack-libpurple.git && \ -git clone https://github.com/jgeboski/bitlbee-steam.git && \ -git clone https://github.com/matrix-org/purple-matrix.git && \ -git clone https://github.com/EionRobb/purple-mattermost.git && \ -git clone https://github.com/EionRobb/purple-instagram.git && \ -# build bitlbee -tar zxvf bitlbee-$VERSION.tar.gz && \ -cd bitlbee-$VERSION && \ -./configure --jabber=1 --otr=1 --purple=1 && \ -make && \ -make install && \ -make install-dev && \ -# install skypeweb -cd && \ -tar zxvf 1.5.tar.gz && \ -cd skype4pidgin-1.5/skypeweb && \ -make && \ -make install && \ -# install telegram-purple -cd && \ -tar zxvf telegram-purple_1.4.2.orig.tar.gz && \ -cd telegram-purple && \ -./configure && \ -make && \ -make install && \ -# install bitlbee-facebook -cd && \ -tar zxvf v1.2.0.tar.gz && \ -cd bitlbee-facebook-1.2.0 && \ -./autogen.sh && \ -make && \ -make install && \ -# install purple-hangouts -cd && \ -cd purple-hangouts && \ -make && \ -make install && \ -# install bitlbee-mastodon -cd && \ -cd bitlbee-mastodon && \ -sh autogen.sh && \ -./configure && \ -make && \ -make install && \ -# install purple-rocketchat -cd && \ -cd purple-rocketchat && \ -make && \ -make install && \ -# install bitlbee-discord -cd && \ -tar zxvf 0.4.3.tar.gz && \ -cd bitlbee-discord-0.4.3/ && \ -./autogen.sh && \ -./configure && \ -make && \ -make install && \ -# install slack-libpurple -cd && \ -cd slack-libpurple && \ -make install && \ -# install bitlbee-steam -cd && \ -cd bitlbee-steam && \ -./autogen.sh && \ -make && \ -make install && \ -# install purple-matrix -cd && \ -cd purple-matrix && \ -make && \ -make install && \ -# install purple-mattermost -cd && \ -cd purple-mattermost && \ -make && \ -make install && \ -# install purple-instagram -cd && \ -cd purple-instagram && \ -make && \ -make install && \ -# libtool --finish -libtool --finish /usr/local/lib/bitlbee && \ -# cleanup -apt remove -y --purge autoconf automake autotools-dev binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2 cpp cpp-8 dpkg-dev g++ g++-8 gcc gcc-8 gettext gettext-base libbinutils libgcc-8-dev libsqlite3-dev libstdc++-8-dev libtasn1-6-dev libtool libtool-bin m4 make nettle-dev patch xz-utils && \ -apt clean && \ -rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /tmp/* && \ -cd && \ -rm -fr bitlbee-$VERSION* && \ -rm -fr 1.5.tar.gz skype4pidgin-* && \ -rm -fr telegram-purple* && \ -rm -fr v1.2.0.tar.gz bitlbee-facebook-* && \ -rm -fr purple-hangouts && \ -rm -rf bitlbee-mastodon && \ -rm -rf purple-rocketchat && \ -rm -fr bitlbee-discord-0.4.3/ 0.4.3.tar.gz && \ -rm -fr slack-libpurple && \ -rm -fr bitlbee-steam && \ -rm -fr purple-matrix && \ -rm -fr purple-mattermost && \ -rm -fr purple-instagram && \ -# add user bitlbee -adduser --system --home /var/lib/bitlbee --disabled-password --disabled-login --shell /usr/sbin/nologin bitlbee && \ -touch /var/run/bitlbee.pid && chown bitlbee:nogroup /var/run/bitlbee.pid +WORKDIR /root +COPY build.sh /root +RUN /root/build.sh VOLUME ["/usr/local/etc/bitlbee"] VOLUME ["/var/lib/bitlbee"] diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..219831d --- /dev/null +++ b/build.sh @@ -0,0 +1,141 @@ +#!/bin/bash + +apt update +apt install -y --no-install-recommends autoconf automake build-essential gettext gcc libtool make \ +libglib2.0-dev libhttp-parser-dev libotr5-dev libpurple-dev libgnutls28-dev \ +libjson-glib-dev libpng-dev libolm-dev libprotobuf-c-dev protobuf-c-compiler \ +libgcrypt20-dev libmarkdown2-dev libpurple-dev libsqlite3-dev libwebp-dev libtool-bin + +cd +curl -LO# https://get.bitlbee.org/src/bitlbee-$BITLBEE_VERSION.tar.gz +curl -LO# https://github.com/EionRobb/skype4pidgin/archive/1.5.tar.gz +curl -LO# https://github.com/majn/telegram-purple/releases/download/v1.4.3/telegram-purple_1.4.3.orig.tar.gz +curl -LO# https://github.com/bitlbee/bitlbee-facebook/archive/v1.2.0.tar.gz +hg clone https://bitbucket.org/EionRobb/purple-hangouts/ +git clone https://alexschroeder.ch/cgit/bitlbee-mastodon +hg clone https://bitbucket.org/EionRobb/purple-rocketchat +curl -LO# https://github.com/sm00th/bitlbee-discord/archive/0.4.3.tar.gz +git clone https://github.com/dylex/slack-libpurple.git +git clone https://github.com/jgeboski/bitlbee-steam.git +git clone https://github.com/matrix-org/purple-matrix.git +git clone https://github.com/EionRobb/purple-mattermost.git +git clone https://github.com/EionRobb/purple-instagram.git + +# # bitlbee +tar zxvf bitlbee-$BITLBEE_VERSION.tar.gz +cd bitlbee-$BITLBEE_VERSION +./configure --jabber=1 --otr=1 --purple=1 +make +make install +make install-dev + +# skypeweb +cd +tar zxvf 1.5.tar.gz +cd skype4pidgin-1.5/skypeweb +make +make install + +# telegram-purple +cd +tar zxvf telegram-purple_1.4.3.orig.tar.gz +cd telegram-purple +./configure +make +make install + +# bitlbee-facebook +cd +tar zxvf v1.2.0.tar.gz +cd bitlbee-facebook-1.2.0 +./autogen.sh +make +make install + +# purple-hangouts +cd +cd purple-hangouts +make +make install + +# bitlbee-mastodon +cd +cd bitlbee-mastodon +sh autogen.sh +./configure +make +make install + +# purple-rocketchat +cd +cd purple-rocketchat +make +make install + +# bitlbee-discord +cd +tar zxvf 0.4.3.tar.gz +cd bitlbee-discord-0.4.3/ +./autogen.sh +./configure +make +make install + +# slack-libpurple +cd +cd slack-libpurple +make install + +# bitlbee-steam +cd +cd bitlbee-steam +./autogen.sh +make +make install + +# purple-matrix +cd +cd purple-matrix +make +make install + +# purple-mattermost +cd +cd purple-mattermost +make +make install + +# purple-instagram +cd +cd purple-instagram +make +make install + +# libtool --finish +libtool --finish /usr/local/lib/bitlbee + +# cleanup +apt remove -y --purge autoconf automake autotools-dev binutils binutils-common binutils-x86-64-linux-gnu build-essential \ +bzip2 cpp cpp-8 dpkg-dev g++ g++-8 gcc gcc-8 gettext gettext-base libbinutils libgcc-8-dev libsqlite3-dev libstdc++-8-dev \ +libtasn1-6-dev libtool libtool-bin m4 make nettle-dev patch xz-utils +apt clean +rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /tmp/* +cd +rm -fr /root/build.sh +rm -fr $BITLBEE_VERSION* +rm -fr 1.5.tar.gz skype4pidgin-* +rm -fr telegram-purple* +rm -fr v1.2.0.tar.gz bitlbee-facebook-* +rm -fr purple-hangouts +rm -rf bitlbee-mastodon +rm -rf purple-rocketchat +rm -fr bitlbee-discord-0.4.3/ 0.4.3.tar.gz +rm -fr slack-libpurple +rm -fr bitlbee-steam +rm -fr purple-matrix +rm -fr purple-mattermost +rm -fr purple-instagram + +# add user bitlbee +adduser --system --home /var/lib/bitlbee --disabled-password --disabled-login --shell /usr/sbin/nologin bitlbee +touch /var/run/bitlbee.pid && chown bitlbee:nogroup /var/run/bitlbee.pid diff --git a/docker-compose.yml b/docker-compose.yml index 20811bd..feeeb68 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,7 @@ version: "2.0" services: app: + build: . image: mbologna/docker-bitlbee container_name: bitlbee restart: always