Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package texlive-filesystem for openSUSE:Factory checked in at 2026-01-26 10:43:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/texlive-filesystem (Old) and /work/SRC/openSUSE:Factory/.texlive-filesystem.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive-filesystem" Mon Jan 26 10:43:16 2026 rev:62 rq:1327569 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/texlive-filesystem/texlive-filesystem.changes 2025-04-07 17:35:08.325113376 +0200 +++ /work/SRC/openSUSE:Factory/.texlive-filesystem.new.1928/texlive-filesystem.changes 2026-01-26 10:45:05.098661195 +0100 @@ -1,0 +2,9 @@ +Thu Jan 15 11:39:25 UTC 2026 - Dr. Werner Fink <[email protected]> + +- Support Immutable Mode (jsc#PED-14906) + * Use a tmpfiles list and systemd-tmpfiles to create the files + below /var/. + * Add /var/lib/texmf/fonts/conf to list as well (jsc#PED-14907) +- Move /etc/texmf/TRANSACTIONAL_UPDATE to /usr/share/texmf/ + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ texlive-filesystem.spec ++++++ --- /var/tmp/diff_new_pack.K4Xn99/_old 2026-01-26 10:45:08.058785442 +0100 +++ /var/tmp/diff_new_pack.K4Xn99/_new 2026-01-26 10:45:08.086786618 +0100 @@ -1,7 +1,7 @@ # # spec file for package texlive-filesystem # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %define texlive_version 2025 %define texlive_previous 2022 %define texlive_release 20250308 -%define texlive_noarch 220 +%define texlive_noarch 221 %define texlive_source texlive-20250308-source %define biber_version 2.20 @@ -33,6 +33,11 @@ %(ls /usr/lib/rpm/brp-suse.d/* 2> /dev/null | grep -vE 'symlink|desktop') %{nil} %bcond_with zypper_posttrans +%if 0%{?suse_version} >= 1600 +%bcond_without immutable +%else +%bcond_with immutable +%endif Name: texlive-filesystem Version: %{texlive_version}.%{texlive_noarch} @@ -82,6 +87,9 @@ %if 0%{?suse_version} > 1550 Requires(preun): rpm_macro(service_del_preun) %endif +%if 0%{?suse_version} >= 1600 +Requires(posttrans): pkgconfig(systemd) +%endif Requires(posttrans): coreutils Requires(posttrans): ed Requires(posttrans): findutils @@ -96,6 +104,10 @@ BuildRequires: cron BuildRequires: ed BuildRequires: fontconfig +%if 0%{?suse_version} >= 1600 +BuildRequires: pkgconfig(systemd) +BuildRequires: rpm_macro(_tmpfilesdir) +%endif #BuildConflicts: texinfo Source10: rc.config.texlive Source11: update.texlive @@ -181,6 +193,10 @@ %define _texmfvardir %{_varlib}/texmf %define _texmfcache %{_localstatedir}/cache/texmf %define _fontcache %{_texmfcache}/fonts +# Immutable +%define _immutabledir %{_texmfdistdir}%{_localstatedir} +%define _immutablecache %{_immutabledir}/cache +%define _immutablelib %{_immutabledir}/lib # %define _x11bin %{_prefix}/bin %define _x11lib %{_libdir} @@ -10837,6 +10853,51 @@ mkdir -p %{buildroot}%{_texmfdistdir}/scripts/pmx mkdir -p %{buildroot}%{_texmfmaindir}/scripts/texlive mkdir -p %{buildroot}%{_texmfvardir} +# Immutable +%if %{with immutable} + mkdir -p %{buildroot}%{_tmpfilesdir} + (cat > %{buildroot}%{_tmpfilesdir}/texlive.conf) <<-"EOF" + d %{_texmfcache} 1755 root root - - + d %{_fontcache} 3775 %{texusr} %{texgrp} - - + d %{_fontcache}/pk 3775 %{texusr} %{texgrp} - - + d %{_fontcache}/source 3775 %{texusr} %{texgrp} - - + d %{_fontcache}/tfm 3775 %{texusr} %{texgrp} - - + d %{_fontcache}/luatex-cache 3775 %{texusr} %{texgrp} - - + f %{_fontcache}/ls-R 0664 %{texusr} %{texgrp} - %%%% ls-R -- filename database for kpathsea; do not change this line. + d %{_texmfvardir} 1755 root root - - + d %{_texmfvardir}/dist 1755 root root - - + f %{_texmfvardir}/dist/ls-R 0664 root %{texgrp} - %%%% ls-R -- filename database for kpathsea; do not change this line. + d %{_texmfvardir}/fonts 1755 root root - - + d %{_texmfvardir}/fonts/dvipdfm 1755 root root - - + d %{_texmfvardir}/fonts/dvips 1755 root root - - + d %{_texmfvardir}/fonts/pdftex 1755 root root - - + d %{_texmfvardir}/fonts/conf 1755 root root - - + d %{_texmfvardir}/fonts/map 1755 root root - - + d %{_texmfvardir}/main 1755 root root - - + f %{_texmfvardir}/main/ls-R 0664 root %{texgrp} - %%%% ls-R -- filename database for kpathsea; do not change this line. + d %{_texmfvardir}/md5 0755 root root - - + d %{_texmfvardir}/web2c 1755 root root - - + d %{_texmfvardir}/web2c/aleph 1755 root root - - + d %{_texmfvardir}/web2c/eptex 1755 root root - - + d %{_texmfvardir}/web2c/luatex 1755 root root - - + d %{_texmfvardir}/web2c/metafont 1755 root root - - + d %{_texmfvardir}/web2c/pdftex 1755 root root - - + d %{_texmfvardir}/web2c/ptex 1755 root root - - + d %{_texmfvardir}/web2c/tex 1755 root root - - + d %{_texmfvardir}/web2c/xetex 1755 root root - - + d %{_texmfvardir}/web2c/hitex 1755 root root - - + d %{_texmfvardir}/web2c/luahbtex 1755 root root - - + d %{_texmfvardir}/web2c/luajithbtex 1755 root root - - + d %{_texmfvardir}/web2c/luajittex 1755 root root - - + d %{_texmfvardir}/web2c/mflua-nowin 1755 root root - - + d %{_texmfvardir}/web2c/euptex 1755 root root - - + d %{_texmfvardir}/web2c/uptex 1755 root root - - + d %{_texmfvardir}/luatex-cache 0755 root root - - + d %{_texmfvardir}/luametatex-cache 0755 root root - - + f %{_texmfvardir}/ls-R 0664 root %{texgrp} - %%%% ls-R -- filename database for kpathsea; do not change this line. +EOF +%endif +# mkdir -p %{buildroot}%{_texmfvardir}/dist mkdir -p %{buildroot}%{_texmfvardir}/fonts mkdir -p %{buildroot}%{_texmfvardir}/fonts/dvipdfm @@ -24501,6 +24562,12 @@ install -m 0755 %{S:12} %{buildroot}%{_sysconfdir}/cron.daily/suse-texlive %endif +# Final remove all below /var/ +%if %{with immutable} + rm -vrf %{buildroot}%{_texmfvardir} + rm -vrf %{buildroot}%{_texmfcache} +%endif + %if %{defined verify_permissions} %verifyscript %verify_permissions -e %{_texmfconfdir}/ls-R @@ -24508,7 +24575,6 @@ %verify_permissions -e %{_texmfvardir}/fonts/ %verify_permissions -e %{_texmfvardir}/fonts/dvipdfm/ %verify_permissions -e %{_texmfvardir}/fonts/dvips/ -%verify_permissions -e %{_texmfvardir}/fonts/ls-R %verify_permissions -e %{_texmfvardir}/fonts/pdftex/ %verify_permissions -e %{_texmfvardir}/dist/ %verify_permissions -e %{_texmfvardir}/dist/ls-R @@ -24531,6 +24597,7 @@ %{_texmfvardir}/dist \ %{_texmfvardir}/main do + test -e ${dir} || continue rm -f ${dir}/ls-R done %if 0%{?suse_version} > 1550 @@ -24538,6 +24605,9 @@ %endif %post +%if %{defined tmpfiles_create} +%tmpfiles_create %{_tmpfilesdir}/texlive.conf +%endif %fillup_only -n texlive # the ls-R file (empty at package time) error=0 @@ -24548,6 +24618,7 @@ %{_texmfvardir}/dist \ %{_texmfvardir}/main do + test -e ${dir} || continue test "$dir" = %{_fontcache} && user=%{texusr} || user=root setpriv --reuid $user --regid %{texgrp} --init-groups /bin/sh -ec " tmp=\$(mktemp ${dir}/ls-R.XXXXXX) @@ -24561,7 +24632,6 @@ %set_permissions %{_texmfvardir}/fonts/ %set_permissions %{_texmfvardir}/fonts/dvipdfm/ %set_permissions %{_texmfvardir}/fonts/dvips/ -%set_permissions %{_texmfvardir}/fonts/ls-R %set_permissions %{_texmfvardir}/fonts/pdftex/ %set_permissions %{_texmfvardir}/dist/ %set_permissions %{_texmfvardir}/dist/ls-R @@ -24701,7 +24771,7 @@ %dir %{_texmfdistdir}/scripts/context/perl %dir %{_texmfdistdir}/scripts/de-macro %dir %{_texmfdistdir}/scripts/dviasm -## %dir %{_texmfdistdir}/scripts/ebong +# %%dir %{_texmfdistdir}/scripts/ebong %dir %{_texmfdistdir}/scripts/epspdf %dir %{_texmfdistdir}/scripts/epstopdf %dir %{_texmfdistdir}/scripts/fig4latex @@ -39098,6 +39168,15 @@ %dir %{_texmfmaindir}/tlpkg %dir %{_texmfmaindir}/tlpkg/TeXLive %dir %{_texmfmaindir}/tlpkg/gpg +%if %{with immutable} +%dir %{_tmpfilesdir} +%{_tmpfilesdir}/texlive.conf +%ghost %dir %attr(1755,root,root) %{_texmfcache}/ +%ghost %dir %attr(3775,%{texusr},%{texgrp}) %verify(not mode) %{_fontcache}/ +%ghost %dir %attr(1755,root,root) %verify(not mode) %{_texmfvardir}/ +%ghost %dir %attr(1755,root,root) %verify(not mode) %{_texmfvardir}/dist/ +%ghost %dir %attr(1755,root,root) %verify(not mode) %{_texmfvardir}/main/ +%else %dir %attr(1755,root,root) %{_texmfvardir}/ %dir %attr(1755,root,root) %{_texmfvardir}/dist/ %dir %attr(1755,root,root) %{_texmfvardir}/main/ @@ -39120,6 +39199,7 @@ %dir %attr(3775,%{texusr},%{texgrp}) %verify(not mode) %{_fontcache}/source/ %dir %attr(3775,%{texusr},%{texgrp}) %verify(not mode) %{_fontcache}/tfm/ %dir %{_texmfvardir}/md5 +%endif %verify(link) %{_texmfmaindir}/ls-R %verify(link) %{_texmfdistdir}/ls-R %ghost %config(noreplace) %attr(0664,root,%{texgrp}) %verify(not md5 size mtime mode) %{_texmfconfdir}/ls-R ++++++ update.texlive ++++++ --- /var/tmp/diff_new_pack.K4Xn99/_old 2026-01-26 10:45:08.942822549 +0100 +++ /var/tmp/diff_new_pack.K4Xn99/_new 2026-01-26 10:45:08.954823052 +0100 @@ -13,26 +13,50 @@ # Copyright (c) 2007-2009 SuSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2011-2012 SuSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2016 SUSE Linux GmbH, Nuernberg, Germany. +# Copyright (c) 2026 SUSE LLC and contributors # # Please submit bugfixes or comments via http://bugs.opensuse.org/ -# -# Author: Werner Fink, 1997-2012,2016 # +# Author: Werner Fink, 1997-2012,2016,2026 +# + +tmpfiles=/usr/lib/tmpfiles.d/texlive.conf +transact=/usr/share/texmf/TRANSACTIONAL_UPDATE if test -n "${TRANSACTIONAL_UPDATE}" then umask 022 mkdir -p /etc/texmf - > /etc/texmf/TRANSACTIONAL_UPDATE + > $transact rm -rf /var/run/texlive || : - find /var/cache/texmf /var/lib/texmf -type f -exec rm -f '{}' \+ + declare -A varlist + test -d /var/cache/texmf && varlist[0]=/var/cache/texmf || : + test -d /var/lib/texmf && varlist[1]=/var/lib/texmf || : + if test ${#varlist[@]} -gt 0 + then + find ${varlist[@]} -type f -exec rm -f '{}' \+ + fi + unset varlist exit 0 -elif test -e /etc/texmf/TRANSACTIONAL_UPDATE +elif test -e $transact then set -- force - rm -f /etc/texmf/TRANSACTIONAL_UPDATE || : + rm -f $transact || : +fi +unset transact + +if ! id mktex > /dev/null 2>&1 +then + useradd -U -d /var/cache/texmf/fonts -c "System user for TeXLive" -s "/usr/sbin/nologin" mktex fi +if test -s $tmpfiles +then + type -p systemd-tmpfiles &> /dev/null || { echo "${0##*/}: No systemd-tmpfiles in PATH ... skipping" 1>&2; exit 0 ; } + systemd-tmpfiles --create $tmpfiles +fi +unset tmpfiles + if test -n "$1" -a "$1" = force; then umask 022 mkdir -p /var/run/texlive @@ -42,9 +66,6 @@ do > /var/run/texlive/$tag done - if ! id mktex > /dev/null 2>&1; then - useradd -U -d /var/cache/texmf/fonts -c "System user for mktex" -s "/usr/sbin/nologin" mktex - fi test -e /var/cache/texmf/fonts/ls-R || { setpriv --reuid mktex --regid mktex --init-groups bash -c \ "umask 0002
