File wps-office.txt of Package wps-office

%global debug_package %{nil}
%global _enable_debug_packages 0
%global _unpackaged_files_terminate_build 0
%global __provides_exclude_from ^/opt/.*$
%global __requires_exclude ^lib(7z|aeo|asound|atk|av|bz2|cef|curl|c\\+\\+|de|et|EGL|fixed|gmp|grid|icu|IRLAS|irpc|html|jde|js|k|log|libsafec|media|my|opencv|qing|paho|pdf|peony|ppt|Qt|rms|rpc|safe|search|sqlite|ssl|sw|thrift|tiff|unrar|uof|uv|v8|vbe|wp|xcb|xe|xkb|xsl).*$
%global _build_id_links none
%define _missing_build_ids_terminate_build 0
%define program_version 12.1.2.23578

Name:           wps-office
Version:        %{program_version}
Release:        36.1
Summary:        WPS Office Suite
License:        SUSE-NonFree
Group:          Productivity/Office/Suite
URL:            http://wps-community.org/
Source0:        %{name}.rpm
Source1:        %{name}.rpmlintrc
BuildRequires:  bash
BuildRequires:  chrpath
BuildRequires:  cpio
BuildRequires:  desktop-file-utils
BuildRequires:  fontconfig
BuildRequires:  hicolor-icon-theme
BuildRequires:  rpm
%if 0%{?suse_version} || 0%{?fedora} || 0%{?mageia}
BuildRequires:  fdupes
%endif
%if 0%{?suse_version}
BuildRequires:  update-desktop-files
%endif
Requires:       libbz2.so.1
Requires:       libc++1
# Добавляем зависимости Python
Requires:       python3
Requires:       /usr/bin/python3

ExclusiveArch:  x86_64

%description
WPS Office including Writer, Presentation
and Spreadsheets, is a powerful office suite, which is able to process
word file, produce wonderful slides, and analyze data as well. It is
deeply compatible with all of the latest Microsoft Office file formats.
It can easily open and read the documents created with Microsoft Office.
This is the Linux version, and it's now an BETA package.
Welcome to our website: http://wps-community.org

%prep

%build

%install
# Extract rpm file
rpm2cpio %{SOURCE0} | cpio -idm -D %{buildroot}

# Создаем симлинк python -> python3 для совместимости
mkdir -p %{buildroot}/usr/bin
ln -sf python3 %{buildroot}/usr/bin/python

# Remove ALL debug files and directories
find %{buildroot} -type f -name '*.debug' -delete
find %{buildroot} -type d -name 'debug' -exec rm -rf {} + 2>/dev/null || :
rm -rf %{buildroot}/usr/lib/debug
rm -rf %{buildroot}/usr/lib/.build-id
rm -rf %{buildroot}/usr/lib/.dwz

# Use system libraries for better security and faster startup
for n in "libbz2.so*" "libc++.so*" "libcairo.so*" "libdbus-1.so*" "libjpeg.so*" "libsmime3.so" "libnss3.so*" "libnssckbi.so*" "libnssdbm3.so*" "libnssutil3.so*" "libstdc++.so*" "libodbc.so*" "libodbccr.so*" "libodbcinst.so*" "libpng16.so*" "libSDL2.so*" "libSDL2-2.0.so*" "libtcmalloc_minimal.so*"
do
    for t in f l
    do
        find %{buildroot} -type $t -name $n -exec rm -f {} \;
    done
done

# Fix invalid RPATH
STRIP_FILE_LIST=$(find %{buildroot}/opt/ -type f -name "*.so*")" "$(find %{buildroot}/opt/kingsoft/wps-office/office*/ -maxdepth 1 -type f -name transerr -o -name et -o -name wpp -o -name wpspdf -o -name parsecloudfiletool -o -name wps -o -name promecefpluginhost)

for f in ${STRIP_FILE_LIST}
do
    RPATH_DIR_LIST=$(chrpath -l ${f}|cut -d' ' -f2|cut -d'=' -f2|tr ':' '\n')
    [ "${RPATH_DIR_LIST}" = "no" ] && continue
    RPATH_DIR=""

    for p in ${RPATH_DIR_LIST}
    do
        [ -z "${p}" ] && continue
        [[ "${p}" =~ "build/data" ]] && continue
        [ -z "${RPATH_DIR}" ] && RPATH_DIR=${p} || RPATH_DIR=${RPATH_DIR}":"${p}
    done
    [ -z "${RPATH_DIR}" ] && chrpath --delete ${f} && continue
    chrpath -r "${RPATH_DIR}" ${f}
done

# Fix world-writable
find %{buildroot} -type f -perm 757 -exec chmod 644 {} \;

# .gitattributes
find %{buildroot} -type f -name .gitattributes -delete

%if 0%{?suse_version} || 0%{?fedora} || 0%{?mageia}
%fdupes -s %{buildroot}/opt/
%fdupes -s %{buildroot}/usr/share/icons/
%endif

# DISABLE RPath Check
export NO_BRP_CHECK_RPATH=true

%files
%defattr(-,root,root,-)
%dir /opt/kingsoft
/opt/kingsoft/*
/usr/bin/*
%attr(755,root,root) /usr/bin/python  
%{_datadir}/applications/*.desktop
%dir %{_datadir}/desktop-directories
%{_datadir}/desktop-directories/wps-office.directory
%dir %{_datadir}/fonts/wps-office
%{_datadir}/fonts/wps-office/*.ttf
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/icons/hicolor/*/mimetypes/*
%exclude %{_datadir}/icons/hicolor/20x20
%exclude %{_datadir}/icons/hicolor/40x40
%{_datadir}/mime/packages/*.xml
%dir %{_datadir}/templates
%{_datadir}/templates/*.desktop
/etc/fonts/conf.avail/40-wps-office.conf
/etc/fonts/conf.d/40-wps-office.conf
%dir /etc/xdg/menus
%dir /etc/xdg/menus/applications-merged
/etc/xdg/menus/applications-merged/*

%changelog
* Sun Nov 30 2025 Alex S. Shubin aka Sylar <renard.comp@hotmail.com> - 12.1.2.23578-36.1
- Fixed Python dependency issue by creating python symlink and adding python3 requirement
- Completely disabled debug packages and build-id generation
- Added aggressive debug file removal in %install section
- Removed /usr/lib/debug and /usr/lib/.dwz directories
- Fixed unpackaged debug files error
- Adopted working spec template with proper lib7zip exclusion
openSUSE Build Service is sponsored by