File Dockerfile.rosa of Package wps-office-docker

FROM opensuse/tumbleweed:latest

# Установка только самого необходимого
RUN zypper --non-interactive refresh && \
    zypper --non-interactive install --no-recommends \
        rpm-build \
        cpio \
        && \
    zypper clean --all

WORKDIR /build

# Копируем SRPM
COPY wps-office-12.1.2.23578-46.2.src.rpm .

# Распаковываем SRPM, чтобы добраться до бинарного RPM
RUN rpm2cpio wps-office-12.1.2.23578-46.2.src.rpm | cpio -idmv 2>/dev/null || true

# Находим бинарный RPM и распаковываем его с правильной структурой
RUN find . -name "*.rpm" | while read rpmfile; do \
        echo "Распаковка $rpmfile..."; \
        # Распаковываем в корень, затем перемещаем
        (cd / && rpm2cpio "/build/$rpmfile" | cpio -idmv 2>/dev/null || true); \
    done

# Исправляем путь: перемещаем из /opt/opt/kingsoft в /opt/kingsoft
RUN if [ -d /opt/opt/kingsoft ]; then \
        echo "✅ Найдены файлы в /opt/opt/kingsoft, перемещаем..."; \
        mkdir -p /opt/kingsoft; \
        cp -r /opt/opt/kingsoft/* /opt/kingsoft/ 2>/dev/null || true; \
        rm -rf /opt/opt; \
        echo "✅ Файлы перемещены в /opt/kingsoft"; \
    fi

# Проверяем результат
RUN if [ -f /opt/kingsoft/wps-office/office6/wps ]; then \
        echo "✅ WPS успешно установлен в /opt/kingsoft/wps-office/office6/"; \
    else \
        echo "❌ ОШИБКА: WPS не найден!"; \
        find / -name "wps" -o -name "wpp" -o -name "et" 2>/dev/null || true; \
    fi

# Создаём выходную директорию с правильной структурой
RUN mkdir -p /output/opt && \
    if [ -d /opt/kingsoft ]; then \
        cp -r /opt/kingsoft /output/opt/; \
        echo "✅ Файлы скопированы в /output/opt/kingsoft"; \
    fi

# Финальная диагностика
RUN echo "===== СОДЕРЖИМОЕ /output/opt/kingsoft =====" && \
    ls -la /output/opt/kingsoft/wps-office/office6/ 2>/dev/null || echo "  Директория пуста"

CMD ["echo", "✅ Готово. Бинарники в /output/opt/kingsoft"]
openSUSE Build Service is sponsored by