我在运行 Fedora 24 的机器上安装了 TeX Live 2016。以前使用 Fedora 时,我安装了一个虚拟texlive
包,这样我就可以安装编辑器等,而无需安装 Fedora 的 TeX Live 包。我正尝试在当前 Fedora 上使用当前 TeX Live 重复这一壮举。
使用 Fedora 的软件包不是一个选择。(我宁愿安装不同的 Linux 发行版也不愿这样做,但希望不会发生这种情况。)
我怀疑问题在于我不了解 RPM.spec
格式,或者dnf
不像了解 ArchPKGBUILD
和那样了解pacman
(并且我几乎不完全了解这些 - 但我知道在哪里可以找到...)。
这是我正在使用的.spec
文件的当前版本texlive-dummy-cfr.spec
Name: texlive-dummy-cfr
Version: 5.1
Release: 0%{?dist}
Summary: This is a fake TeXLive package
Group: Applications/Publishing
License: GPLv2 and BSD and Public Domain and LGPLv2+ and GPLv2+ and LPPL
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
Provides: config(texlive)
Provides: kpathsea libkpathsea.so.4()
Provides: tetex tetex-dvips tetex-fonts tetex-latex tex
Provides: tex(dvips) tex(latex) tex(tex) tex-preview texinfo-tex
Provides: texlive texlive-afm texlive-context texlive-doc texlive-doc-errata
Provides: texlive-dvips texlive-dviutils texlive-east-asian texlive-fonts
Provides: texlive-texmf texlive-latex texlive-utils texlive-xetex
Provides: texlive-texmf-afm texlive-texmf-context texlive-texmf-doc texlive-texmf-dvips
Provides: texlive-texmf-errata texlive-texmf-errata-afm texlive-texmf-errata-context
Provides: texlive-texmf-errata-doc texlive-texmf-errata-dvips texlive-texmf-errata-east-asian
Provides: texlive-texmf-errata-fonts texlive-texmf-errata-latex texlive-texmf-errata-xetex
Provides: texlive-texmf-fonts texlive-texmf-latex texlive-texmf-xetex
Provides: tetex-IEEEtran tetex-dvipost tetex-elsevier tetex-tex4ht
Provides: tetex-xdvi xdvik
Provides: texlive-base texlive-hyphen-base texlive-kpathsea texlive-kpathsea-bin texlive-lib
Provides: texlive-kpathsea-doc texlive-lib texlive-xdvi-bin texlive-dvi
Provides: texlive-metafont texlive-metafont-bin texlive-tetex texlive-tetex-bin
Provides: texlive-texlive.infra() texlive-texlive.infra-bin()
%description
This was necessary to have a tlmgr-based installation of texlive and all the rpm packages that requires texlive (e.g., a2ps and R-core) still installable.
%prep
%build
%install
rm -rf $RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc
%changelog
# vim: set nospell:
然后我用
rpmbuild -bb texlive-dummy-cfr.spec
这将创建一个包
rpmbuild/RPMS/x86_64/texlive-dummy-cfr-5.1-0.fc24.x86_64.rpm
然后我用它安装dnf
。
这很好用。此外,我已经成功安装了 Kile,因此虚拟包在某种程度上可以工作。
但是,尝试安装vim-latex
失败:
Dependencies resolved.
============================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================
Installing:
texlive-kpathsea noarch 5:svn37193.0-24.fc24.1 fedora 153 k
texlive-lib x86_64 5:2015-24.20150728_r37987.fc24 fedora 429 k
texlive-xdvi noarch 5:svn37078.22.87-24.fc24.1 fedora 72 k
texlive-xdvi-bin x86_64 5:svn37100.0-24.20150728_r37987.fc24.1 fedora 317 k
vim-latex noarch 1.8.23-16.20141116.812.gitd0f31c9.fc24 fedora 216 k
Transaction Summary
============================================================================================================================================
Install 5 Packages
Total download size: 1.2 M
Installed size: 2.7 M
Is this ok [y/N]: N
Operation aborted.
显然我做错了什么。这并不是说它dnf
根本无法识别所提供的假包:
for i in texlive-kpathsea texlive-xdvi texlive-xdvi-bin texlive-lib
> do
> dnf provides $i
> done
返回
Last metadata expiration check: 1:41:57 ago on Sat Oct 22 01:40:34 2016.
texlive-dummy-cfr-5.1-0.fc24.x86_64 : This is a fake TeXLive package
Repo : @System
texlive-kpathsea-5:svn37193.0-24.fc24.1.noarch : Path searching library for TeX-related files
Repo : fedora
Last metadata expiration check: 1:41:58 ago on Sat Oct 22 01:40:34 2016.
texlive-xdvi-5:svn37078.22.87-24.fc24.1.noarch : A DVI previewer for the X Window System
Repo : fedora
Last metadata expiration check: 1:41:58 ago on Sat Oct 22 01:40:34 2016.
texlive-dummy-cfr-5.1-0.fc24.x86_64 : This is a fake TeXLive package
Repo : @System
texlive-xdvi-bin-5:svn37100.0-24.20150728_r37987.fc24.1.x86_64 : Binaries for xdvi
Repo : fedora
Last metadata expiration check: 1:41:59 ago on Sat Oct 22 01:40:34 2016.
texlive-dummy-cfr-5.1-0.fc24.x86_64 : This is a fake TeXLive package
Repo : @System
texlive-lib-5:2015-24.20150728_r37987.fc24.i686 : Shared libraries for TeX-related files
Repo : fedora
texlive-lib-5:2015-24.20150728_r37987.fc24.x86_64 : Shared libraries for TeX-related files
Repo : fedora
我尝试添加
Provides: texlive-kpathsea-5 texlive-lib-5 texlive-xdvi-bin-5 texlive-dvi-5
但这仍然不能满足依赖关系。
请注意,搜索有关此问题的信息让我认为在 Fedora 论坛上提问并不明智。之前的讨论引发了这样的回应:Fedora 的打包人员努力打包了 TeX Live。如果缺少任何东西,它要么不是 TL 的一部分,要么不是免费的。如果您对软件包有疑问,您应该报告该问题。换句话说,您应该使用 RPM,而不是想要任何其他东西。不幸的是,那些似乎更同情该项目的人似乎没有对我有用的解决方案。(参考:https://ask.fedoraproject.org/en/question/51707/use-own-texlive-installation/) 这里的人们可能对 RPM 了解较少,但他们不太可能从原则上拒绝使用上游 TL 的整个想法!
我知道 CTAN 上有各种 Red Hat 虚拟软件包。但是,我不确定是否有适合此处的软件包。如果有的话,我假设它是https://www.ctan.org/tex-archive/support/texlive/texlive-dummy/EnterpriseLinux-7。