File Dockerfile of Package distrobox-mcepl-packaging

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

#!ExclusiveArch: x86_64

FROM opensuse/distrobox:latest
LABEL maintainer="Matej Cepl <mcepl@cepl.eu>"

# labelprefix=org.opensuse.distrobox-mcepl-packaging
PREFIXEDLABEL org.opencontainers.image.title="Distrobox openSUSE Packaging container (mcepl version)"
PREFIXEDLABEL org.opencontainers.image.description="Distrobox openSUSE Packaging 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/home/mcepl/moldavite/containers/opensuse/distrobox-mcepl-packaging:%OS_VERSION_ID%.%RELEASE%"

# openSUSE-release included to ensure %OS_VERSION_ID% can be found/used by kiwi-metainfo-helper
# opensuse/distrobox-packaging
RUN zypper --non-interactive install --no-recommends git \
    osc \
    build \
    obs-service-download_files \
    obs-service-tar \
    obs-service-tar_scm \
    obs-service-obs_scm \
    obs-service-set_version \
    obs-service-recompress \
    obs-service-go_modules \
    obs-service-cargo \
    obs-service-format_spec_file \
    openSUSE-release-tools-pkglistgen \
    openSUSE-release-tools \
    openSUSE-release
# My additions
RUN rpm -qa python311\*
RUN zypper --non-interactive install --recommends \
    openSUSE-release jq rsync rclone wl-clipboard make fzf colordiff imv aerc gawk \
    dante glibc-locale spec-cleaner make rsync flatpak coreutils-doc vifm \
    password-store python3-pass-git-helper password-store pass-otp file \
    python3-keyring python3-keyring-keyutils python3-keyring-pass dirmngr \
    python3-patatt gitea-tea hub xmlstarlet fuse-zip archivemount-ng hut fish
RUN zypper --non-interactive install --recommends w3m zip unzip quilt \
    git-email git-gui git-doc git-lfs git-svn gitk xdg-utils xdg-terminal-exec \
    sshfs sqlite3 ripgrep patchutils obs-scm-bridge rpm-build git-delta \
    jujutsu obs-git-init par_text
RUN zypper --non-interactive install --no-recommends perl-IO-Compress
RUN zypper --non-interactive install --no-recommends hunspell myspell-en_US myspell-en_GB myspell-cs_CZ \
    dictd
RUN zypper --non-interactive install --no-recommends lua-language-server clang \
    python3-python-lsp-server python3-pylsp-rope nodejs-bash-language-server \
    vale python3-docutils python3-rpm-spec-language-server gopls go typescript \
    python3-black python3-isort python3-mypy
RUN zypper --non-interactive install --no-recommends python3-khard python3-khal awk
RUN zypper --non-interactive install --recommends zathura \
    zathura-plugin-pdf-poppler zathura-plugin-ps
RUN zypper --non-interactive install --recommends gcc-c++ ShellCheck gdb \
    python3-pipx python3-black \
    python3-setuptools python3-pip python3-twine python3-build
# RUN zypper --non-interactive install --no-confirm --force-resolution -- -man mandoc
RUN zypper --non-interactive install --force man-pages
RUN zypper --non-interactive addlock kernel\* qemu\*
RUN zypper clean

# Set fish as the default shell for the root user
RUN usermod --shell /usr/bin/fish root
# Ensure the fish shell is used for the user created by distrobox during init
# RUN useradd -D --shell /usr/bin/fish

ENTRYPOINT ["/usr/bin/fish"]
openSUSE Build Service is sponsored by