forked from pool/texlive-filesystem
Use systemd services and timer
OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive-filesystem?expand=0&rev=170
This commit is contained in:
parent
d0e4b10c82
commit
9731d105e4
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 25 10:58:46 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
- Switch over to systemd to a) replace cron usage with timer
|
||||||
|
and b) to make use the transactional update support of the
|
||||||
|
update script (boo#1211613)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed May 24 14:28:07 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
Wed May 24 14:28:07 UTC 2023 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
@ -24,9 +24,9 @@
|
|||||||
%define texlive_version 2023
|
%define texlive_version 2023
|
||||||
%define texlive_previous 2022
|
%define texlive_previous 2022
|
||||||
%define texlive_release 20230311
|
%define texlive_release 20230311
|
||||||
%define texlive_noarch 201
|
%define texlive_noarch 208
|
||||||
%define texlive_source texlive-20230311-source
|
%define texlive_source texlive-20230311-source
|
||||||
%define biber_version 2.18
|
%define biber_version 2.19
|
||||||
|
|
||||||
%define __perl_requires %{nil}
|
%define __perl_requires %{nil}
|
||||||
%define __os_install_post /usr/lib/rpm/brp-compress \\\
|
%define __os_install_post /usr/lib/rpm/brp-compress \\\
|
||||||
@ -41,21 +41,34 @@ Summary: Basic file system of TeX Live
|
|||||||
License: Apache-2.0 AND Artistic-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LPPL-1.3c AND LPPL-1.0 AND MIT AND BSD-3-Clause AND SUSE-TeX AND SUSE-Public-Domain
|
License: Apache-2.0 AND Artistic-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LPPL-1.3c AND LPPL-1.0 AND MIT AND BSD-3-Clause AND SUSE-TeX AND SUSE-Public-Domain
|
||||||
Group: Productivity/Publishing/TeX/Base
|
Group: Productivity/Publishing/TeX/Base
|
||||||
URL: https://www.tug.org/texlive/
|
URL: https://www.tug.org/texlive/
|
||||||
|
%if 0%{?suse_version} <= 1550
|
||||||
Requires: cron
|
Requires: cron
|
||||||
|
%else
|
||||||
|
Requires: rpm_macro(_unitdir)
|
||||||
|
%endif
|
||||||
Requires: python3
|
Requires: python3
|
||||||
Requires(pre): user(mktex)
|
Requires(pre): user(mktex)
|
||||||
Requires(pre): group(mktex)
|
Requires(pre): group(mktex)
|
||||||
Requires(pre): /usr/bin/stat
|
Requires(pre): /usr/bin/stat
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
Requires(pre): rpm_macro(service_add_pre)
|
||||||
|
%endif
|
||||||
Requires(post): %fillup_prereq
|
Requires(post): %fillup_prereq
|
||||||
Requires(post): permissions
|
Requires(post): permissions
|
||||||
Requires(post): /usr/bin/mktemp
|
Requires(post): /usr/bin/mktemp
|
||||||
Requires(post): /usr/bin/mv
|
Requires(post): /usr/bin/mv
|
||||||
Requires(post): /usr/bin/setpriv
|
Requires(post): /usr/bin/setpriv
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
Requires(pre): rpm_macro(service_add_post)
|
||||||
|
%endif
|
||||||
Requires(postun):coreutils
|
Requires(postun):coreutils
|
||||||
Requires(postun):ed
|
Requires(postun):ed
|
||||||
Requires(postun):findutils
|
Requires(postun):findutils
|
||||||
Requires(postun):grep
|
Requires(postun):grep
|
||||||
Requires(postun):sed
|
Requires(postun):sed
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
Requires(pre): rpm_macro(service_del_postun)
|
||||||
|
%endif
|
||||||
Requires(pre): /usr/bin/perl
|
Requires(pre): /usr/bin/perl
|
||||||
Requires(pre): /usr/bin/clear
|
Requires(pre): /usr/bin/clear
|
||||||
Requires(pre): /usr/bin/dialog
|
Requires(pre): /usr/bin/dialog
|
||||||
@ -64,6 +77,9 @@ Requires(pre): ed
|
|||||||
Requires(pre): findutils
|
Requires(pre): findutils
|
||||||
Requires(pre): grep
|
Requires(pre): grep
|
||||||
Requires(pre): sed
|
Requires(pre): sed
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
Requires(preun):rpm_macro(service_del_preun)
|
||||||
|
%endif
|
||||||
Requires(posttrans):coreutils
|
Requires(posttrans):coreutils
|
||||||
Requires(posttrans):ed
|
Requires(posttrans):ed
|
||||||
Requires(posttrans):findutils
|
Requires(posttrans):findutils
|
||||||
@ -87,6 +103,9 @@ Source14: texlive.csh
|
|||||||
Source15: fc-texlive.conf
|
Source15: fc-texlive.conf
|
||||||
Source16: fc-t1-texlive.conf
|
Source16: fc-t1-texlive.conf
|
||||||
Source17: fc-truetype-texlive.conf
|
Source17: fc-truetype-texlive.conf
|
||||||
|
Source18: texlive.timer
|
||||||
|
Source19: texlive.service
|
||||||
|
Source20: texlive-initial.service
|
||||||
Source30: texlive-filesystem-rpmlintrc
|
Source30: texlive-filesystem-rpmlintrc
|
||||||
Source31: dot.dvipsrc
|
Source31: dot.dvipsrc
|
||||||
Source42: zypplugin.in
|
Source42: zypplugin.in
|
||||||
@ -22762,9 +22781,16 @@ popd
|
|||||||
install -m 0644 %{S:10} %{buildroot}%{_fillupdir}/sysconfig.texlive
|
install -m 0644 %{S:10} %{buildroot}%{_fillupdir}/sysconfig.texlive
|
||||||
|
|
||||||
install -m 0755 %{S:11} %{buildroot}%{_texmfdistdir}/texconfig/update
|
install -m 0755 %{S:11} %{buildroot}%{_texmfdistdir}/texconfig/update
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
install -m 0755 %{S:12} %{buildroot}%{_texmfdistdir}/texconfig/daily
|
||||||
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
|
install -m 0644 %{S:18} %{buildroot}%{_unitdir}/texlive.timer
|
||||||
|
install -m 0644 %{S:19} %{buildroot}%{_unitdir}/texlive.service
|
||||||
|
install -m 0644 %{S:20} %{buildroot}%{_unitdir}/texlive-initial.service
|
||||||
|
%else
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/cron.daily
|
mkdir -p %{buildroot}%{_sysconfdir}/cron.daily
|
||||||
install -m 0755 %{S:12} %{buildroot}%{_sysconfdir}/cron.daily/suse-texlive
|
install -m 0755 %{S:12} %{buildroot}%{_sysconfdir}/cron.daily/suse-texlive
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{defined verify_permissions}
|
%if %{defined verify_permissions}
|
||||||
%verifyscript
|
%verifyscript
|
||||||
@ -22798,6 +22824,9 @@ for dir in %{_texmfconfdir} \
|
|||||||
do
|
do
|
||||||
rm -f ${dir}/ls-R
|
rm -f ${dir}/ls-R
|
||||||
done
|
done
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
%service_add_pre texlive.timer texlive.service texlive-initial.service
|
||||||
|
%endif
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%fillup_only -n texlive
|
%fillup_only -n texlive
|
||||||
@ -22837,12 +22866,23 @@ done
|
|||||||
%set_permissions %{_fontcache}/source/
|
%set_permissions %{_fontcache}/source/
|
||||||
%set_permissions %{_fontcache}/tfm/
|
%set_permissions %{_fontcache}/tfm/
|
||||||
%endif
|
%endif
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
%service_add_post texlive.timer texlive.service texlive-initial.service
|
||||||
|
%endif
|
||||||
mkdir -p /var/run/texlive
|
mkdir -p /var/run/texlive
|
||||||
> /var/run/texlive/run-mktexlsr
|
> /var/run/texlive/run-mktexlsr
|
||||||
> /var/run/texlive/run-update
|
> /var/run/texlive/run-update
|
||||||
test $error = 0 || exit 1
|
test $error = 0 || exit 1
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
%service_del_preun texlive.timer texlive.service texlive-initial.service
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
%service_del_postun texlive.timer texlive.service texlive-initial.service
|
||||||
|
%endif
|
||||||
if test $1 = 1; then
|
if test $1 = 1; then
|
||||||
mkdir -p /var/run/texlive
|
mkdir -p /var/run/texlive
|
||||||
> /var/run/texlive/run-mktexlsr
|
> /var/run/texlive/run-mktexlsr
|
||||||
@ -22858,7 +22898,9 @@ VERBOSE=false %{_texmfdistdir}/texconfig/update || :
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,755)
|
%defattr(-,root,root,755)
|
||||||
|
%if 0%{?suse_version} <= 1550
|
||||||
%config %{_sysconfdir}/cron.daily/suse-texlive
|
%config %{_sysconfdir}/cron.daily/suse-texlive
|
||||||
|
%endif
|
||||||
%config %{_sysconfdir}/permissions.d/texlive*
|
%config %{_sysconfdir}/permissions.d/texlive*
|
||||||
%config %{_sysconfdir}/profile.d/texlive*
|
%config %{_sysconfdir}/profile.d/texlive*
|
||||||
%config %{_sysconfdir}/skel/.dvipsrc
|
%config %{_sysconfdir}/skel/.dvipsrc
|
||||||
@ -22916,6 +22958,12 @@ VERBOSE=false %{_texmfdistdir}/texconfig/update || :
|
|||||||
%dir %{_texmfdistdir}/xdvi/pixmap
|
%dir %{_texmfdistdir}/xdvi/pixmap
|
||||||
%dir %{_texmfdistdir}/texconfig
|
%dir %{_texmfdistdir}/texconfig
|
||||||
%attr(0755,root,root) %{_texmfdistdir}/texconfig/update
|
%attr(0755,root,root) %{_texmfdistdir}/texconfig/update
|
||||||
|
%if 0%{?suse_version} > 1550
|
||||||
|
%attr(0755,root,root) %{_texmfdistdir}/texconfig/daily
|
||||||
|
%{_unitdir}/texlive.timer
|
||||||
|
%{_unitdir}/texlive.service
|
||||||
|
%{_unitdir}/texlive-initial.service
|
||||||
|
%endif
|
||||||
%if %{with zypper_posttrans}
|
%if %{with zypper_posttrans}
|
||||||
%attr(0755,root,root) %{_texmfdistdir}/texconfig/zypper.py
|
%attr(0755,root,root) %{_texmfdistdir}/texconfig/zypper.py
|
||||||
%endif
|
%endif
|
||||||
|
37
texlive-initial.service
Normal file
37
texlive-initial.service
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Initiate TeXLive Data Bases and Formats
|
||||||
|
Documentation=info:kpathsea
|
||||||
|
DefaultDependencies=no
|
||||||
|
After=local-fs.target
|
||||||
|
Before=sysinit.target shutdown.target
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
RequiresMountsFor=/var/cache/texmf
|
||||||
|
RequiresMountsFor=/var/lib/texmf
|
||||||
|
ConditionPathExists=/etc/texmf/TRANSACTIONAL_UPDATE
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
# Otherwise the update script can not remove
|
||||||
|
# our tag file /etc/texmf/TRANSACTIONAL_UPDATE
|
||||||
|
User=root
|
||||||
|
Group=mktex
|
||||||
|
UMask=0002
|
||||||
|
# Note that /etc/texmf/ls-R should be rw
|
||||||
|
ProtectSystem=true
|
||||||
|
ProtectHome=true
|
||||||
|
PrivateTmp=true
|
||||||
|
PrivateDevices=true
|
||||||
|
ProtectHostname=true
|
||||||
|
ProtectClock=true
|
||||||
|
ProtectKernelTunables=true
|
||||||
|
ProtectKernelModules=true
|
||||||
|
ProtectKernelLogs=true
|
||||||
|
ProtectControlGroups=true
|
||||||
|
LockPersonality=true
|
||||||
|
RestrictRealtime=true
|
||||||
|
|
||||||
|
ExecStart=/usr/share/texmf/texconfig/update
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
17
texlive.cron
17
texlive.cron
@ -22,6 +22,13 @@ OLDIFS=$IFS; IFS=':;'
|
|||||||
VARTEXFONTS="$(kpsewhich --expand-var '$VARTEXFONTS' 2> /dev/null)"
|
VARTEXFONTS="$(kpsewhich --expand-var '$VARTEXFONTS' 2> /dev/null)"
|
||||||
IFS=$OLDIFS
|
IFS=$OLDIFS
|
||||||
|
|
||||||
|
if test "$(id -ur)" = 0
|
||||||
|
then
|
||||||
|
groups=--init-groups
|
||||||
|
else
|
||||||
|
groups=--keep-groups
|
||||||
|
fi
|
||||||
|
|
||||||
if test -n "$VARTEXFONTS" -a "$HAVE_MKTEX_MEMBERS" = yes
|
if test -n "$VARTEXFONTS" -a "$HAVE_MKTEX_MEMBERS" = yes
|
||||||
then
|
then
|
||||||
IFS=:
|
IFS=:
|
||||||
@ -36,9 +43,9 @@ then
|
|||||||
for i in $(seq 3 $u)
|
for i in $(seq 3 $u)
|
||||||
do
|
do
|
||||||
find -P $p \( \( -type f -and -not -type l \) -and -user ${users[$i]} \) -print0 | \
|
find -P $p \( \( -type f -and -not -type l \) -and -user ${users[$i]} \) -print0 | \
|
||||||
xargs -r -L100 -0 -- setpriv --reuid ${users[$i]} --regid mktex --init-groups chmod g+rw
|
xargs -r -L100 -0 -- setpriv --reuid ${users[$i]} --regid mktex $groups chmod g+rw
|
||||||
find -P $p \( \( -type d -and -not -type l \) -and -user ${users[$i]} \) -print0 | \
|
find -P $p \( \( -type d -and -not -type l \) -and -user ${users[$i]} \) -print0 | \
|
||||||
xargs -r -L100 -0 -- setpriv --reuid ${users[$i]} --regid mktex --init-groups chmod g+rwsx
|
xargs -r -L100 -0 -- setpriv --reuid ${users[$i]} --regid mktex $groups chmod g+rwsx
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
unset i u
|
unset i u
|
||||||
@ -51,7 +58,7 @@ then
|
|||||||
test -d $p/pk && find -P $p/pk \( -not -type d -and -atime +20 \) -print0
|
test -d $p/pk && find -P $p/pk \( -not -type d -and -atime +20 \) -print0
|
||||||
test -d $p/tfm && find -P $p/tfm \( -not -type d -and -atime +60 \) -print0
|
test -d $p/tfm && find -P $p/tfm \( -not -type d -and -atime +60 \) -print0
|
||||||
test -d $p/source && find -P $p/source \( -not -type d -and -atime +60 \) -print0
|
test -d $p/source && find -P $p/source \( -not -type d -and -atime +60 \) -print0
|
||||||
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid mktex --regid mktex --init-groups rm -f)
|
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid mktex --regid mktex $groups rm -f)
|
||||||
fi
|
fi
|
||||||
if test -n "$VARTEXFONTS"
|
if test -n "$VARTEXFONTS"
|
||||||
then
|
then
|
||||||
@ -61,11 +68,11 @@ then
|
|||||||
test -d $p/tfm && find -P $p/tfm \( -not -type d -and -not -name '*.tfm' \) -print0
|
test -d $p/tfm && find -P $p/tfm \( -not -type d -and -not -name '*.tfm' \) -print0
|
||||||
test -d $p/source && find -P $p/source \( -not -type d -and -not -name '*.mf' \) -print0
|
test -d $p/source && find -P $p/source \( -not -type d -and -not -name '*.mf' \) -print0
|
||||||
test -d $p && find -P $p \( -not -type d -and -path '*/[^[:alnum:]]*' \) -print0
|
test -d $p && find -P $p \( -not -type d -and -path '*/[^[:alnum:]]*' \) -print0
|
||||||
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid mktex --regid mktex --init-groups rm -vf)
|
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid mktex --regid mktex $groups rm -vf)
|
||||||
for p in $VARTEXFONTS
|
for p in $VARTEXFONTS
|
||||||
do
|
do
|
||||||
test -d $p && find -P $p -depth \( -type d -and -path '*/[^[:alnum:]]*' \) -print0
|
test -d $p && find -P $p -depth \( -type d -and -path '*/[^[:alnum:]]*' \) -print0
|
||||||
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid mktex --regid mktex --init-groups rm -vfr)
|
done > >(exec -a xargs xargs -r -L100 -0 -- setpriv --reuid mktex --regid mktex $groups rm -vfr)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
|
31
texlive.service
Normal file
31
texlive.service
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Daily TeXLive regeneration
|
||||||
|
Documentation=info:kpathsea
|
||||||
|
ConditionACPower=true
|
||||||
|
ConditionPathExists=/var/cache/texmf
|
||||||
|
ConditionPathExists=/var/lib/texmf
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
# Otherwise we can not change ownerships below /var/cache/texmf
|
||||||
|
User=root
|
||||||
|
Group=mktex
|
||||||
|
UMask=0002
|
||||||
|
Nice=19
|
||||||
|
IOSchedulingClass=idle
|
||||||
|
IOSchedulingPriority=7
|
||||||
|
# Note that /etc/texmf/ls-R should be rw
|
||||||
|
ProtectSystem=true
|
||||||
|
ProtectHome=true
|
||||||
|
PrivateTmp=true
|
||||||
|
PrivateDevices=true
|
||||||
|
ProtectHostname=true
|
||||||
|
ProtectClock=true
|
||||||
|
ProtectKernelTunables=true
|
||||||
|
ProtectKernelModules=true
|
||||||
|
ProtectKernelLogs=true
|
||||||
|
ProtectControlGroups=true
|
||||||
|
LockPersonality=true
|
||||||
|
RestrictRealtime=true
|
||||||
|
|
||||||
|
ExecStart=/usr/share/texmf/texconfig/daily
|
11
texlive.timer
Normal file
11
texlive.timer
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Daily TeXLive regeneration
|
||||||
|
Documentation=info:kpathsea
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=daily
|
||||||
|
RandomizedDelaySec=12h
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
Loading…
x
Reference in New Issue
Block a user