Bug 1577224 - texlive-preview and tex-preview conflicting files
Summary: texlive-preview and tex-preview conflicting files
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: texlive
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1541658 1577457 (view as bug list)
Depends On:
Blocks: 1577061
TreeView+ depends on / blocked
 
Reported: 2018-05-11 13:52 UTC by hannes
Modified: 2018-07-22 14:06 UTC (History)
15 users (show)

Fixed In Version: texlive-2016-44.20160520.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-05-28 15:24:33 UTC
Type: Bug


Attachments (Terms of Use)

Description hannes 2018-05-11 13:52:54 UTC
Description of problem:
If either texlive-preview or tex-preview is installed on a system. It's not possible to install the other one. 

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Install texlive-preview
2. Try installing tex-preview
3. Installation fails

Actual results:
dnf install tex-preview
Last metadata expiration check: 2:07:30 ago on Fr 11 Mai 2018 13:40:51 CEST.
Dependencies resolved.
==================================================================================================================
 Package                      Arch                    Version                       Repository               Size
==================================================================================================================
Installing:
 tex-preview                  noarch                  12.1-3.fc28                   fedora                   69 k

Transaction Summary
==================================================================================================================
Install  1 Package

Total download size: 69 k
Installed size: 162 k
Is this ok [y/N]: y
Downloading Packages:
tex-preview-12.1-3.fc28.noarch.rpm                                                1.1 MB/s |  69 kB     00:00    
------------------------------------------------------------------------------------------------------------------
Total                                                                             129 kB/s |  69 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/share/texlive/texmf-dist/tex/latex/preview/preview.sty from install of tex-preview-12.1-3.fc28.noarch conflicts with file from package texlive-preview-6:svn38865-42.fc28.2.noarch

Error Summary
-------------


Expected results:
The installation should be aborted earlier, since apparently these to provide the same sty file.

Comment 1 hannes 2018-05-11 13:55:21 UTC
CC'ed the emacs-auctex maintainer.

Comment 2 Tom "spot" Callaway 2018-05-14 16:18:04 UTC
*** Bug 1577457 has been marked as a duplicate of this bug. ***

Comment 3 Tom "spot" Callaway 2018-05-14 16:19:06 UTC
Fixing this by removing the preview subpackages from texlive, the ones generated by emacs-auctex are newer than what is in TeXLive.

Comment 4 hannes 2018-05-14 20:27:32 UTC
I assume that this also means that tex-preview then provides texlive-preview, or?

Comment 5 Tom "spot" Callaway 2018-05-14 20:41:03 UTC
Not exactly. They both had the same tex files inside them (well, the texlive ones were slightly older), but nothing depended on "texlive-preview", so it's fine.

I'm waiting on https://bugzilla.redhat.com/show_bug.cgi?id=1568308 to roll out a fix, otherwise, I have to tear out a ton of packaging cleanups (and I'd really rather not).

Comment 6 hannes 2018-05-15 04:07:57 UTC
Ok, thought texstudio depends on it, but then I'll need to change the Requires.

Comment 7 hannes 2018-05-15 09:43:24 UTC
*** Bug 1541658 has been marked as a duplicate of this bug. ***

Comment 8 Jonas L. B. 2018-05-15 20:30:56 UTC
For me, this blocks upgrading from fedora 27 to 28.

I also ran into https://bugzilla.redhat.com/show_bug.cgi?id=1566070 but that issue could be worked around. This bug show up afterwards. 

It appears that there is no way to work around this other than simply removing Latex? (not that it would be viable in my case though)

The error output when upgrading is as follows:

Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/share/texlive/texmf-dist/tex/latex/preview/preview.sty conflicts between attempted installs of tex-preview-12.1-3.fc28.noarch and texlive-preview-6:svn38865-42.fc28.2.noarch

Error Summary
-------------

Comment 9 Jonathan Underwood 2018-05-16 06:11:09 UTC
Aside: Nothing should ever depend on texlive-anything since all texlive-foo packages should be providing tex(foo), and packages should only ever Require tex (foo).

Thanks for fixing this Tom. Actually this was a regression - I remember Jindrich fixing the same problem many years ago when he moved to the current packaging mechanism.

Comment 10 hannes 2018-05-16 07:28:17 UTC
I just checked and emacs-auctex and the subpackage tex-preview provide tex(preview.sty) is this then the same as tex(preview)? Just to be sure that the transition then will work.

Comment 11 hannes 2018-05-17 12:24:19 UTC
(In reply to Jonathan Underwood from comment #9)
> Aside: Nothing should ever depend on texlive-anything since all texlive-foo
> packages should be providing tex(foo), and packages should only ever Require
> tex (foo).
> 
> Thanks for fixing this Tom. Actually this was a regression - I remember
> Jindrich fixing the same problem many years ago when he moved to the current
> packaging mechanism.

Ok, but apparently that's not true for all packages:
rpm -q --provides texlive-dvipng
tex-dvipng = 2016
texlive-dvipng = 6:svn40768-42.fc28.2

I added both of the deps now correctly to my spec file. Is there anywhere some documentation on the correct dependency listing of tex packages? I could not find anything via a search on the internet.

Comment 12 Jonathan Underwood 2018-05-19 22:32:30 UTC
(In reply to hannes from comment #11)
> (In reply to Jonathan Underwood from comment #9)
> > Aside: Nothing should ever depend on texlive-anything since all texlive-foo
> > packages should be providing tex(foo), and packages should only ever Require
> > tex (foo).
> > 
> > Thanks for fixing this Tom. Actually this was a regression - I remember
> > Jindrich fixing the same problem many years ago when he moved to the current
> > packaging mechanism.
> 
> Ok, but apparently that's not true for all packages:
> rpm -q --provides texlive-dvipng
> tex-dvipng = 2016
> texlive-dvipng = 6:svn40768-42.fc28.2
> 
> I added both of the deps now correctly to my spec file. Is there anywhere
> some documentation on the correct dependency listing of tex packages? I
> could not find anything via a search on the internet.

Hmm. I can't find it in the packaging guidelines either, though I am sure it was their once. Or perhaps it existed only as a draft. However, you can see that the packages do generally follow the prescription I outlined. Picking one at random:

$ rpm -q --provides texlive-threadcol
tex(threadcol.sty) = 2016
tex-threadcol = 2016
texlive-threadcol = 6:svn28754.1.0-42.fc28.2


The first two virtual provides patterns (i.e. tex(foo.sty) and tex-foo) are always present, or should be.

dvipng seems to be an anomaly - I think that's a packaging bug.

Comment 13 Jonathan Underwood 2018-05-19 22:34:08 UTC
(In reply to hannes from comment #10)
> I just checked and emacs-auctex and the subpackage tex-preview provide
> tex(preview.sty) is this then the same as tex(preview)? Just to be sure that
> the transition then will work.

Yes, tex(preview.sty) is correct.

[I typo'd earlier with tex(foo) - that would be tex(foo.sty) for style files/class packages.]

Comment 14 k.c.harke 2018-05-22 07:39:23 UTC
(In reply to Jonathan Underwood from comment #9)
> Aside: Nothing should ever depend on texlive-anything since all texlive-foo
> packages should be providing tex(foo), and packages should only ever Require
> tex (foo).
(In reply to Jonathan Underwood from comment #12)
> dvipng seems to be an anomaly - I think that's a packaging bug.

$ rpm -q --requires texstudio
...
tex(latex)
texlive-dvipng
texlive-preview

There's another one, which breaks a 400M update. Workaround: Uninstall tex-preview. Emacs, emacs-auctex and some other packages - 112M overall - are removed automatically. Reinstall emacs, install auctex from inside emacs (with list-packages e. g.) (melpa). But Texstudio's preview is gone.

Comment 15 hannes 2018-05-22 08:09:10 UTC
I've fixed that one with the latest update texstudio-2.12.8-7.fc28.x86_64:
$rpm -q --requires texstudio
...
tex(latex)
tex(preview.sty)
tex-dvipng

Comment 16 Fedora Update System 2018-05-22 14:18:40 UTC
texlive-2016-44.20160520.fc28 texlive-base-20170520-29.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-694af37c58

Comment 17 Tom "spot" Callaway 2018-05-22 14:19:26 UTC
I was able to work around 1568308 by using %posttrans scriptlets to clean up the mess, so this update is getting pushed.

Comment 18 Jason Tibbitts 2018-05-22 14:54:14 UTC
Glad the hack is actually functional.  I do still think it's possible to avoid the nastiness of all those packages individually commenting lines in and out of fmtutil.cnf and that the end result would be far more pleasant; I'm happy to work on that a bit if you like.

Comment 19 Fedora Update System 2018-05-23 17:37:12 UTC
texlive-2016-44.20160520.fc28, texlive-base-20170520-29.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-694af37c58

Comment 20 Fedora Update System 2018-05-24 14:17:54 UTC
emacs-auctex-12.1-4.fc28 texlive-2016-44.20160520.fc28 texlive-base-20170520-29.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-694af37c58

Comment 21 Fedora Update System 2018-05-25 18:41:42 UTC
emacs-auctex-12.1-4.fc28, texlive-2016-44.20160520.fc28, texlive-base-20170520-29.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-694af37c58

Comment 22 Fedora Update System 2018-05-28 15:24:33 UTC
emacs-auctex-12.1-4.fc28, texlive-2016-44.20160520.fc28, texlive-base-20170520-29.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 23 Patrick 2018-07-21 05:35:54 UTC
Updating from fedora 26 to fedora 28. I got the same issue.
What to do?

Comment 24 George R. Goffe 2018-07-22 05:31:59 UTC
I have renamed /var/lib/dnf/history and started an upgrade about 10 hours ago. It's still running (>7k upgrades). Dnf created a /var/lib/dnf/history.sqlite.

George...

Comment 25 George R. Goffe 2018-07-22 14:06:30 UTC
oops. wrong bug report.


Note You need to log in before you can comment on or make changes to this bug.