Skip to content

Commit

Permalink
[Maintenance] Minimize alsa dependencies #257 (#258)
Browse files Browse the repository at this point in the history
  • Loading branch information
GioF71 committed Dec 31, 2023
1 parent b489446 commit 56c3747
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 22 deletions.
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ ARG BASE_IMAGE
FROM ${BASE_IMAGE} AS BASE
ARG DOWNLOAD_FROM_SOURCEFORGE
ARG BUILD_MODE
ARG FORCE_ARCH
ARG USE_APT_PROXY

RUN mkdir -p /app/conf
Expand Down
20 changes: 12 additions & 8 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@

declare -A base_images

base_images[sid]=debian:sid
base_images[stable]=debian:stable
base_images[unstable]=debian:unstable
base_images[trixie]=debian:trixie
base_images[bookworm]=debian:bookworm
base_images[bullseye]=debian:bullseye
base_images[buster]=debian:buster
base_images[sid]=debian:sid-slim
base_images[stable]=debian:stable-slim
base_images[unstable]=debian:unstable-slim
base_images[trixie]=debian:trixie-slim
base_images[bookworm]=debian:bookworm-slim
base_images[bullseye]=debian:bullseye-slim
base_images[buster]=debian:buster-slim
base_images[trusty]=ubuntu:trusty
base_images[xenial]=ubuntu:xenial
base_images[bionic]=ubuntu:bionic
Expand Down Expand Up @@ -49,19 +49,21 @@ DEFAULT_USE_PROXY=N
download=$DEFAULT_SOURCEFORGE_DOWNLOAD
tag=$DEFAULT_TAG

while getopts b:d:t:p:m: flag
while getopts b:d:t:p:m:f: flag
do
case "${flag}" in
b) base_image=${OPTARG};;
d) download=${OPTARG};;
t) tag=${OPTARG};;
p) proxy=${OPTARG};;
m) build_mode=${OPTARG};;
f) force_arch=${OPTARG};;
esac
done

echo "Input: base_image = [$base_image]";
echo "Input: Download from SourceForge = [$sd]";
echo "Input: Force Architecture = [$force_arch]";
echo "Input: Image Tag = [$tag]";
echo "Input: Proxy = [$proxy]";
echo "Input: Build mode = [$build_mode]";
Expand Down Expand Up @@ -112,6 +114,7 @@ fi

echo "Build Argument: Base Image = ["$expanded_base_image"]"
echo "Build Argument: Download from SourceForge = ["$download"]"
echo "Build Argument: Force Architecture = [$force_arch]";
echo "Build Argument: Image Tag = ["$tag"]"
echo "Build Argument: Build Mode = ["$build_mode"]"
echo "Build Argument: Proxy = ["$proxy"]"
Expand All @@ -120,6 +123,7 @@ docker build . \
--build-arg BASE_IMAGE=${expanded_base_image} \
--build-arg DOWNLOAD_FROM_SOURCEFORGE=${download} \
--build-arg BUILD_MODE=${build_mode} \
--build-arg FORCE_ARCH=${force_arch} \
--build-arg USE_APT_PROXY=${proxy} \
-t giof71/squeezelite:$tag \
--progress=plain
1 change: 1 addition & 0 deletions doc/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Older build might be dropped in order to save space on docker-hub and incur in l

Date|Type|Description
:---|:---|:---
2023-12-31|Improvement|Reduce alsa dependencies (see [#257](https://github.com/GioF71/squeezelite-docker/issues/257))
2023-12-30|Improvement|Separate builds for alsa and pulseaudio (see [#254](https://github.com/GioF71/squeezelite-docker/issues/254))
2023-12-18|Improvement|Support for a config file prefix (see [#249](https://github.com/GioF71/squeezelite-docker/issues/249))
2023-12-18|Improvement|Autogen mac address (see [#247](https://github.com/GioF71/squeezelite-docker/issues/247))
Expand Down
39 changes: 28 additions & 11 deletions install/install-dep.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,31 @@
#!/bin/bash

apt-get update

if [[ -z "${BUILD_MODE^^}" ]] || [[ "${BUILD_MODE^^}" == "FULL" ]] || [[ "${BUILD_MODE^^}" == "ALSA" ]]; then
echo "Installing support for Alsa ..."
apt-get install libasound2 --no-install-recommends -y
echo "Support for Alsa installed."
fi
if [[ -z "${BUILD_MODE^^}" ]] || [[ "${BUILD_MODE^^}" == "FULL" ]] || [[ "${BUILD_MODE^^}" == "PULSE" ]]; then
echo "Installing support for PulseAudio ..."
apt-get install pulseaudio --no-install-recommends -y
echo "Support for PulseAudio installed."
if [[ "$DOWNLOAD_FROM_SOURCEFORGE" == "Y" ]]; then
echo "Using sourceforge binaries, installing required dependencies - BEGIN"
apt-get update
if [[ -z "${BUILD_MODE^^}" ]] || [[ "${BUILD_MODE^^}" == "FULL" ]] || [[ "${BUILD_MODE^^}" == "ALSA" ]]; then
echo "Installing support for Alsa ..."
apt-get install --no-install-recommends -y libasound2
echo "Support for Alsa installed."
fi
if [[ -z "${BUILD_MODE^^}" ]] || [[ "${BUILD_MODE^^}" == "FULL" ]] || [[ "${BUILD_MODE^^}" == "PULSE" ]]; then
echo "Installing support for PulseAudio ..."
apt-get install --no-install-recommends -y \
libavcodec59 \
libavformat59 \
libavutil57 \
libfaad2 \
libflac12 \
liblirc-client0 \
libmad0 \
libmpg123-0 \
libopusfile0 \
libpulse0 \
libsoxr0 \
libssl3 \
libvorbisfile3 \
lsb-base
echo "Support for PulseAudio installed."
fi
echo "Using sourceforge binaries, installing required dependencies - END"
fi
13 changes: 10 additions & 3 deletions install/installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ set -ex
# 1 Unsupported platform

ARCH=`uname -m`
echo "ARCH=[${ARCH}] FORCE_ARCH=[${FORCE_ARCH}]"
if [[ -n "${FORCE_ARCH}" ]]; then
echo "Overriding ARCH=[${ARCH}] to [${FORCE_ARCH}]"
ARCH="${FORCE_ARCH}"
fi

echo "install-script.sh: BUILD_MODE=[${BUILD_MODE}]"
echo "install-script.sh: DOWNLOAD_FROM_SOURCEFORGE=[${DOWNLOAD_FROM_SOURCEFORGE}]"
Expand All @@ -28,9 +33,9 @@ download_url_dict_pulse[$arch_amd64]="https://sourceforge.net/projects/lmsclient
download_url_dict_pulse[$arch_arm_v7]="https://sourceforge.net/projects/lmsclients/files/squeezelite/linux/squeezelite-pulse-1.9.9.1392-armhf.tar.gz/download"
download_url_dict_pulse[$arch_arm_v8]="https://sourceforge.net/projects/lmsclients/files/squeezelite/linux/squeezelite-pulse-1.9.9.1428-aarch64.tar.gz/download"

if [ "$DOWNLOADED_BIN" == "Y" ]; then
apt-get install wget -y
ARCH=`uname -m`
if [[ "$DOWNLOAD_FROM_SOURCEFORGE" == "Y" ]]; then
apt-get install wget -y
#ARCH=`uname -m`
mkdir /assets
mkdir -p /assets/sourceforge
if [[ "${BUILD_MODE^^}" == "FULL" ]] || [[ "${BUILD_MODE^^}" == "ALSA" ]]; then
Expand Down Expand Up @@ -67,12 +72,14 @@ if [ "$DOWNLOADED_BIN" == "Y" ]; then
else
if [[ "${BUILD_MODE^^}" == "FULL" ]] || [[ "${BUILD_MODE^^}" == "ALSA" ]]; then
echo "Installing ALSA ..."
apt-get update
apt-get install squeezelite --no-install-recommends -y
cp /usr/bin/squeezelite /app/bin/squeezelite
echo "Installed ALSA."
fi
if [[ "${BUILD_MODE^^}" == "FULL" ]] || [[ "${BUILD_MODE^^}" == "PULSE" ]]; then
echo "Installing Pulse ..."
apt-get update
apt-get install squeezelite-pulseaudio --no-install-recommends -y
cp /usr/bin/squeezelite-pulseaudio /app/bin/squeezelite-pulseaudio
echo "Installed PULSE."
Expand Down

0 comments on commit 56c3747

Please sign in to comment.