7

This is essentially a follow-up to earlier questions concerning the procedure for installing vanilla TeX Live from upstream on a GNU/Linux system.

Part of that process involves the installation of a dummy package, which satisfies the distro's package manager that relevant dependencies are installed when installing programmes which require a TeX installation (e.g. TeX editors, frontends and associated software).

In Arch Linux, this is unproblematic and Debian derivatives seem reasonably pliant also.

However, Fedora is altogether more trouble. Moreover, with the release of Fedora 28, the annoyances have mushroomed into all-out warfare. I am battling dnf in a life-and-death struggle entirely of another's making. The packaging is not just exponentially worse. It is ??!! Bonkers. Aggressive. Intrusive. Insidious. Violent. Rude. Insane. Batty. Bananas. Hideous. Eruptive. Disruptive. It is Extreme Packaging taken to its Irrational Logical Conclusion. It is a reductio ad absurdum of distros' TeX Live packaging. It is, in a word, Nuts.

Fedora is, moreover, spectacularly unsympathetic to upstream installations. What's wrong with our packages, they ask? The packager worked hard to package the entire TeX Live tree!

The answer to which is: nothing is wrong with them. But this is my machine and I demand the freedom to run the software I want on it. If that means abandoning Fedora, so be it. But this would seem antithetical to the spirit, though not the technical lettering, of the commitments to software freedom which Fedora itself espouses.

Moreover, I like Fedora and I'm hoping that I do not have to leave Fedora in order to exercise freedoms Fedora otherwheres supports.

Originally, it was not hard to build a dummy package to satisfy Fedora. Things got trickier in Fedora 24 and trickier still in Fedora 26 and 27, but the problem was not entirely unmanageable.

Today, however, I updated from Fedora 26 to Fedora 28 and, lo and behold, the damn thing pulled in piles and piles of texlive- packages. There are so many matching packages in Fedora's repos that dnf reports finding none if you search just for texlive or even something like texlive-d*. Apparently, it can't cope with that many results, so concludes there are none whatsoever.

I ended up hacking together a .spec file to convince dnf to let me remove the unwanted packages, but posting it here goes over SE's character limit, so I've put it at https://pastebin.com/QXFjqW9C instead. The file has 11593 lines, 23249 words and 347644 characters.

This is, clearly, insane. Moreover, the file will need to be continually updated each time Fedora's packager gets a new package from TeX Live. That is, constantly. This is because it seems that some of Fedora's packages include direct dependencies on the lowest level of packaging, so upgrading a system with Kile installed, for example, pulled in specific LaTeX packages - not just some meta package or package group, as I'd have expected.

However, I cannot find a way to avoid this difficulty. A dummy package like this is, I think, the right way to do this, but I can't make it work.

So I've also edited /etc/dnf.conf:

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
excludepkgs=texlive-a*,texlive-b*,texlive-c*,texlive-e*,texlive-f*,texlive-g*,texlive-h*,texlive-i*,texlive-j*,texlive-k*,texlive-l*,texlive-m*,texlive-n*,texlive-o*,texlive-p*,texlive-q*,texlive-r*,texlive-s*,texlive-t*,texlive-u*,texlive-v*,texlive-w*,texlive-x*,texlive-y*,texlive-z*,texlive-0*,texlive-1*,texlive-2*,texlive-3*,texlive-4*,texlive-5*,texlive-6*,texlive-7*,texlive-8*,texlive-9*,texlive-da*,texlive-db*,texlive-dc*,texlive-dd*,texlive-de*,texlive-df*,texlive-dg*,texlive-dh*,texlive-di*,texlive-dj*,texlive-dk*,texlive-dl*,texlive-dm*,texlive-dn*,texlive-do*,texlive-dp*,texlive-dq*,texlive-dr*,texlive-ds*,texlive-dt*,texlive-dv*,texlive-dw*,texlive-dx*,texlive-dy*,texlive-dz*,texlive-d0*,texlive-d1*,texlive-d2*,texlive-d3*,texlive-d4*,texlive-d5*,texlive-d6*,texlive-d7*,texlive-d8*,texlive-d9*,texlive-dua*,texlive-dub*,texlive-duc*,texlive-dud*,texlive-due*,texlive-duf*,texlive-dug*,texlive-duh*,texlive-dui*,texlive-duj*,texlive-duk*,texlive-dul*,texlive-dun*,texlive-duo*,texlive-dup*,texlive-duq*,texlive-dur*,texlive-dus*,texlive-dut*,texlive-duu*,texlive-duv*,texlive-duw*,texlive-dux*,texlive-duy*,texlive-duz*,texlive-du0*,texlive-du1*,texlive-du2*,texlive-du3*,texlive-du4*,texlive-du5*,texlive-du6*,texlive-du7*,texlive-du8*,texlive-du9*,texlive-duma*,texlive-dumb*,texlive-dumc*,texlive-dumd*,texlive-dume*,texlive-dumf*,texlive-dumg*,texlive-dumh*,texlive-dumi*,texlive-dumj*,texlive-dumk*,texlive-duml*,texlive-dumn*,texlive-dumo*,texlive-dump*,texlive-dumq*,texlive-dumr*,texlive-dums*,texlive-dumt*,texlive-dumu*,texlive-dumv*,texlive-dumw*,texlive-dumx*,texlive-dumy*,texlive-dumz*,texlive-dum0*,texlive-dum1*,texlive-dum2*,texlive-dum3*,texlive-dum4*,texlive-dum5*,texlive-dum6*,texlive-dum7*,texlive-dum8*,texlive-dum9*,texlive-dumma*,texlive-dummb*,texlive-dummc*,texlive-dummd*,texlive-dumme*,texlive-dummf*,texlive-dummg*,texlive-dummh*,texlive-dummi*,texlive-dummj*,texlive-dummk*,texlive-dumml*,texlive-dummm*,texlive-dummn*,texlive-dummo*,texlive-dummp*,texlive-dummq*,texlive-dummr*,texlive-dumms*,texlive-dummt*,texlive-dummu*,texlive-dummv*,texlive-dummw*,texlive-dummx*,texlive-dummz*,texlive-dumm0*,texlive-dumm1*,texlive-dumm2*,texlive-dumm3*,texlive-dumm4*,texlive-dumm5*,texlive-dumm6*,texlive-dumm7*,texlive-dumm8*,texlive-dumm9*,texlive-dummya*,texlive-dummyb*,texlive-dummyc*,texlive-dummyd*,texlive-dummye*,texlive-dummyf*,texlive-dummyg*,texlive-dummyh*,texlive-dummyi*,texlive-dummyj*,texlive-dummyk*,texlive-dummyl*,texlive-dummym*,texlive-dummyn*,texlive-dummyo*,texlive-dummyp*,texlive-dummyq*,texlive-dummyr*,texlive-dummys*,texlive-dummyt*,texlive-dummyu*,texlive-dummyv*,texlive-dummyw*,texlive-dummyx*,texlive-dummyy*,texlive-dummyz*,texlive-dummy0*,texlive-dummy1*,texlive-dummy2*,texlive-dummy3*,texlive-dummy4*,texlive-dummy5*,texlive-dummy6*,texlive-dummy7*,texlive-dummy8*,texlive-dummy9*

Still pretty mad, but a bit less insane and - possibly - slightly more robust than the dummy package. But I'm not sure how wise the approach is or how safe.

dnf now tells me that no texlive* packages are found either installed or in the repository, though a search for texlive-dummy-cfr nonetheless finds my attempt to produce a dummy.

I'd rather not shackle dnf like this: I want to stop it installing stuff - not finding it. But only sledge hammers appear to be provided. On the bright side, most of the time dnf doesn't acknowledge the existence of any texlive packages anyway, so I guess not much is lost for practical purposes.

However, not even all this has eradicated the contamination of the texlive- packages entirely. Although the tree is empty, /usr/share/texmf is a pretty full hierarchy of empty directories. dnf tells me this is provided by texlive-base, which is not installed. So I can't even kill the thing completely with both the insane .spec and the mad dnf sledge hammer.

It is difficult to believe that there is not a cleaner, more elegant way to install Kile than one of these kludges, without abandoning Fedora.

What is the best, most elegant and robust solution on Fedora?

Note: in case it is not obvious, installing Fedora's packages is not an option. Getting rid of Fedora is an option, but that is my strategy of last resort.

  • 3
    Could you please remove the rant about Fedora from the question? This is more suited for a personal blog. – Henri Menke May 5 '18 at 1:47
  • 3
    You probably have seen it already, but just to be sure copr.fedorainfracloud.org/coprs/fatka/texlive-dummy seems to provide some dummy packages also for Fedora 28, they were last built in 2017. Their .spec file is ridiculous, about 10 times the size of yours. (BTW: I do enjoy your writing style, but I can understand if people feel it is a bit too much.) – moewe May 5 '18 at 6:39
  • 2
    @moewe I think cfr's opinion is totally valid, but it just takes too much space. I'm lazy, I don't want to read all that. – Henri Menke May 5 '18 at 6:59
  • Nice rant, interesting to read how other Linux-distries move along. I understand how madening this feeling is if the package manager fills the harddisks with gigabytes of useless data. Reminds me on a poem »sorcerer's apprentice«, Goethe. Hey, why don't you give openSuse Leap 15 a try, will be published on May 25th ? I'm on Suse since more than 15 years. – Keks Dose May 17 '18 at 9:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.