File Dockerfile of Package lsps

# SPDX-License-Identifier: MIT
#!BuildTag: opensuse/distrobox-lsps:latest
#!BuildTag: opensuse/distrobox-lsps:%OS_VERSION_ID%
#!BuildTag: opensuse/distrobox-lsps:%OS_VERSION_ID%.%RELEASE%

#!ExclusiveArch: x86_64

FROM opensuse/distrobox:latest

# labelprefix=org.opensuse.distrobox-lsps
PREFIXEDLABEL org.opencontainers.image.title="Distrobox lsps base container"
PREFIXEDLABEL org.opencontainers.image.description="Distrobox lsps base container"
PREFIXEDLABEL org.opencontainers.image.created="%BUILDTIME%"
PREFIXEDLABEL org.opencontainers.image.version="%OS_VERSION_ID%.%RELEASE%"
PREFIXEDLABEL org.opencontainers.image.vendor="openSUSE Project"
PREFIXEDLABEL org.openbuildservice.disturl="%DISTURL%"
PREFIXEDLABEL org.opensuse.reference="registry.opensuse.org/opensuse/distrobox-lsps:%OS_VERSION_ID%.%RELEASE%"

# We have to force-reinstall rpm after downloading this image, because all OBS-images strip away the docs, that rpm-spec-lsp needs to function.
# We have no internet connection in OBS, so we have to still run `npm install -g bash-language-server typescript-language-server yaml-language-server vscode-json-languageserver` manually.
# openSUSE-release included to ensure %OS_VERSION_ID% can be found/used by kiwi-metainfo-helper
RUN zypper --non-interactive install \
  openSUSE-release \
  rpm \
  python311-python-lsp-server \
  python311-rpm-spec-language-server \
  npm \
  helix \
  && zypper clean \
  && sed -i 's/.*solver.onlyRequires.*/solver.onlyRequires = false/g' /etc/zypp/zypp.conf \
  && sed -i 's/.*rpm.install.excludedocs.*/rpm.install.excludedocs = no/g' /etc/zypp/zypp.conf
openSUSE Build Service is sponsored by