Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#27258 closed defect (fixed)

texlive-bin-extra conflicts with pdfjam and latexdiff

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: jjstickel@…, aschenke@…
Port: texlive-bin-extra pdfjam latexdiff

Description

--->  Activating texlive-bin-extra @18336_1+doc
Error: Target org.macports.activate returned: Image error: /opt/local/bin/pdf180 is being used by the active pdfjam port.  Please deactivate this port first, or use 'port -f activate texlive-bin-extra' to force the activation.
Log for texlive-bin-extra is at: /opt/local/var/macports/logs/_Users_rschmidt_macports_dports_tex_texlive-bin-extra/main.log

Change History (8)

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jjstickel@… added

comment:2 Changed 13 years ago by drkp (Dan Ports)

Status: newassigned

Indeed it does. Didn't realize we already had a port for pdfjam. Let's have texlive-bin-extra depend on that instead of installing it itself.

comment:3 Changed 13 years ago by drkp (Dan Ports)

In order to do this we need to change pdfjam's dependency on texlive to something more specific. What packages does it actually require? I think just texlive-latex-recommended, and possibly also texlive-fonts-recommended?

Ugh. And I don't know if it's possible to write the dependency in a way that'll let ptex satisfy it too. Currently it's path:bin/pdflatex:texlive. It's not right to just change texlive to texlive-latex-recommended, because bin/pdflatex is installed by texlive-latex (and can be installed without texlive-latex-recommended). The actual file it depends on (well, among tex packages) is pdfpages.sty, but texlive and ptex install it into different places.

Maybe this point will become moot now that ptex is included in texlive too...

comment:4 Changed 13 years ago by jjstickel@…

I don't mind if pdfjam is removed as a port if it is now included in texlive-bin-extra. The only real drawback, from my point of view, is that users may not know where to find pdfjam.

comment:5 Changed 13 years ago by jjstickel@…

The port "latexdiff" also conflicts:

--->  Activating texlive-bin-extra @18336_1+doc
Error: Target org.macports.activate returned: Image error: /opt/local/bin/latexdiff is being used by the active latexdiff port.  Please deactivate this port first, or use 'port -f activate texlive-bin-extra' to force the activation.

comment:6 Changed 13 years ago by drkp (Dan Ports)

I updated pdfjam's dependencies in r74948 to texlive-basic and texlive-latex-recommended rather than all of texlive to avoid circular dependency problems when we make texlive-bin-extra depend on it. The path dependency is a bit of a hack to allow ptex to satisfy that dependency too: it's the location ptex installs that file in.

I'll remove pdfjam (and latexdiff) from texlive-bin-extra and add it as a dependency shortly; waiting for the distfiles to regenerate.

comment:7 in reply to:  6 Changed 13 years ago by drkp (Dan Ports)

Resolution: fixed
Status: assignedclosed

Replying to dports@…:

I'll remove pdfjam (and latexdiff) from texlive-bin-extra and add it as a dependency shortly; waiting for the distfiles to regenerate.

Done in r74955

comment:8 Changed 13 years ago by drkp (Dan Ports)

Cc: aschenke@… added
Port: latexdiff added
Summary: texlive-bin-extra conflicts with pdfjamtexlive-bin-extra conflicts with pdfjam and latexdiff

Ugh. I introduced a conflict when I made texlive-bin-extra depend on pdfjam and latexdiff. pdfjam and latexdiff get upgraded first, so they'll conflict with the old version of texlive-bin-extra that's still installed and contains its own pdfjam and latexdiff binaries.

I had to edit the pdfjam and latexdiff ports in r74956 and r74957 to add a pre-activate hook that prevents the conflict by deactivating an old texlive-bin-extra if it's installed. Sorry for not notifying you beforehand, but this was causing all texlive upgrades to fail.

Note: See TracTickets for help on using tickets.