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"]