Opened 14 years ago

Closed 13 years ago

#26430 closed update (fixed)

texlive: update to 2010

Reported by: drkp (Dan Ports) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: Cc: luis.beca@…, rob.patro@…, orez.org@…, faisal.moledina@…, elelay (Eric Le Lay)
Port: texlive

Description

TeX Live 2010 is out. I don't expect to have time to work on updating the port for at least a few weeks, but am preemptively creating this ticket for tracking progress.

Hopefully there are no major changes in upstream packaging and this will be as simple as regenerating the distfiles and portfiles. Perhaps we'll even have a working TL2010 while it's still 2010. :-)

Change History (14)

comment:1 Changed 14 years ago by luis.beca@…

Cc: luis.beca@… added

Cc Me!

comment:2 Changed 14 years ago by rob.patro@…

Cc: rob.patro@… added

Cc Me!

comment:3 Changed 14 years ago by orez.org@…

Cc: orez.org@… added

Cc Me!

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

For those who want to follow along, I'm working on the update in my users directory in the repository: http://svn.macports.org/repository/macports/users/dports/ports/

I believe we're now at a point where all the binaries build and all the ports install, though they're pretty much untested and I'm already aware of a few minor bugs. Also a few packaging improvements left to make.

If someone is feeling truly brave, you could potentially try it out by checking out that directory and adding it to your sources.conf, but I wouldn't really recommend it just yet. Note that you would have to uninstall your existing texlive ports before building the new ones as I don't think an upgrade would work yet.

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

Some new features in the TL2010 ports:

texmf.cnf is now generated from the contents of /opt/local/etc/texmf/texmf.cnf.d to allow users to add their own customized settings (#24204)

texlive-bin now installs binaries into a hidden location rather than /opt/local/bin so that we don't install unusable binaries and broken symlinks when the necessary texmf files are unavailable (#25460, #25875). The ports installing the texmf files will "activate" the binaries by symlinking them into /opt/local/bin

We also create symlinks for the active binaries into /opt/local/libexec/texlive/texbin for use by the MacTeX prefpane (#26784)

comment:6 Changed 13 years ago by faisal.moledina@…

Cc: faisal.moledina@… added

Cc Me!

comment:7 Changed 13 years ago by elelay (Eric Le Lay)

Cc: elelay@… added

Cc Me!

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

I just regenerated the distfiles and portfiles with a few minor changes. We leave out some binaries from texlive-bin-extra and texlive-fontutils because they're available as separate ports, and use the standalone pgf port instead of keeping it in texlive-pictures for some weird dependency reasons (see #25478).

Also fixed a bug that was preventing texlive-bin from installing if icu was installed.

I think the main remaining question is whether an existing texlive 2009 installation will upgrade cleanly to the 2010 ports. I haven't tested this yet, but will shortly.

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

r73177 adds pre-activate hooks to certain texlive ports to deactivate old (TL2009) versions of conflicting ports. It now upgrades cleanly from an existing installation of the current texlive 2009 ports.

The only remaining bugs I'm aware of are minor ones, so this should be a good time for testing if anyone feels up for it. You should be able to svn co http://svn.macports.org/repository/macports/users/dports/ports/, run portindex inside the resulting directory, and add that directory to /opt/local/macports/sources.conf. Then a port upgrade outdated ought to leave you running texlive 2010. Note that you might see some warnings about failed format generation or mktexlsr during the upgrade process; this is normal.

I'm hoping to merge the changes from this branch onto trunk next week.

comment:10 Changed 13 years ago by faisal.moledina@…

I did a quick try (just did port fetch outdated for now) and got the following:

--->  Computing dependencies for texlive-lang-ukenglish
--->  Fetching texlive-lang-ukenglish
texlive-lang-ukenglish has been replaced by texlive-lang-english.
Error: Target org.macports.fetch returned: texlive-lang-ukenglish cannot be installed

Log

version:1
:msg:main --->  Computing dependencies for texlive-lang-ukenglish:info:main .:msg:main 
:debug:main Executing org.macports.main (texlive-lang-ukenglish)
:msg:main --->  Fetching texlive-lang-ukenglish
:debug:fetch fetch phase started at Sat Nov  6 11:31:03 EDT 2010
:debug:fetch Executing proc-pre-org.macports.fetch-fetch-0
:msg:fetch texlive-lang-ukenglish has been replaced by texlive-lang-english.
:error:fetch Target org.macports.fetch returned: texlive-lang-ukenglish cannot be installed
:debug:fetch Backtrace: texlive-lang-ukenglish cannot be installed
    while executing
"$pre $targetname"
:info:fetch Warning: the following items did not execute (for texlive-lang-ukenglish): org.macports.fetch
:notice:fetch Log for texlive-lang-ukenglish is at: /opt/local/var/macports/logs/_opt_dports_tex_texlive-lang-ukenglish/main.log

I forced the uninstall of texlive-lang-ukenglish and proceeded to fetch the rest. Not sure if I should have just upgraded rather than fetched, such that the dependency would have been taken care of?

comment:11 Changed 13 years ago by faisal.moledina@…

A couple more things. An extract dependency for texlive-basic is xz-devel. I guess it might have previously been lzmautils (?) since I had that installed and xz-devel conflicts with it. No biggie, I just removed lzmautils and it churned along.

Next was upon the upgrade of texlive-math-extra. Apologies for the following verbose output for a mere README file, but I just thought I'd be complete.

--->  Computing dependencies for texlive
--->  Dependencies to be installed: texlive-math-extra
--->  Activating texlive-math-extra @19348_0+doc
Error: Target org.macports.activate returned: Image error: /opt/local/share/texmf-texlive-dist/doc/latex/binomexp/README is being used by the active texlive-latex-extra port.  Please deactivate this port first, or use 'port -f activate texlive-math-extra' to force the activation.
Log for texlive-math-extra is at: /opt/local/var/macports/logs/_opt_dports_tex_texlive-math-extra/main.log
Error: The following dependencies failed to build: texlive-math-extra
$ cat /opt/local/var/macports/logs/_opt_dports_tex_texlive-math-extra/main.log
version:1
:debug:activate activate phase started at Sat Nov  6 12:31:35 EDT 2010
:debug:activate Executing org.macports.activate (texlive-math-extra)
:msg:activate --->  Activating texlive-math-extra @19348_0+doc
:error:activate Target org.macports.activate returned: Image error: /opt/local/share/texmf-texlive-dist/doc/latex/binomexp/README is being used by the active texlive-latex-extra port.  Please deactivate this port first, or use 'port -f activate texlive-math-extra' to force the activation.
:debug:activate Backtrace: Image error: /opt/local/share/texmf-texlive-dist/doc/latex/binomexp/README is being used by the active texlive-latex-extra port.  Please deactivate this port first, or use 'port -f activate texlive-math-extra' to force the activation.
    invoked from within
"throw registry::image-error "Image error: $file is being used by the active [$owner name] port.  Please deactivate this port first, or use 'port -f ac..."
    ("foreach" body line 45)
    invoked from within
"foreach file $imagefiles {
                    set srcfile "${imagedir}${file}"

                    # To be able to install links, we test if we can ..."
    invoked from within
"registry::write {
                foreach file $imagefiles {
                    set srcfile "${imagedir}${file}"

                    # To be able to..."
    invoked from within
"try {
            registry::write {
                foreach file $imagefiles {
                    set srcfile "${imagedir}${file}"

                 ..."
    (procedure "_activate_contents" line 26)
    invoked from within
"_activate_contents $requested"
    (procedure "portimage::activate" line 100)
    invoked from within
"registry_activate $name "${version}_${revision}${portvariants}" [array get user_options]"
    (procedure "portactivate::activate_main" line 6)
    invoked from within
"$procedure $targetname"
:notice:activate Log for texlive-math-extra is at: /opt/local/var/macports/logs/_opt_dports_tex_texlive-math-extra/main.log
$ sudo port -f deactivate texlive-latex-extra
--->  Deactivating texlive-latex-extra @15852_1+doc
--->  Cleaning texlive-latex-extra

Then the rest of the upgrade ("medium" for me) went well. All in all, a pretty smooth upgrade in my opinion.

comment:12 in reply to:  10 Changed 13 years ago by drkp (Dan Ports)

Replying to faisal.moledina@…:

I forced the uninstall of texlive-lang-ukenglish and proceeded to fetch the rest. Not sure if I should have just upgraded rather than fetched, such that the dependency would have been taken care of?

Yes, port upgrade would have picked up on the fact that texlive-lang-ukenglish was replaced by texlive-lang-english

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

Replying to faisal.moledina@…:

Next was upon the upgrade of texlive-math-extra. Apologies for the following verbose output for a mere README file, but I just thought I'd be complete.

Thanks. Looks like the binomexp package moved from texlive-latex-extra to texlive-math-extra. These conflicts were what I was fixing with r73177; seems I missed one. I added a pre-activate hook to fix it in r73240.

Then the rest of the upgrade ("medium" for me) went well. All in all, a pretty smooth upgrade in my opinion.

Great. Thanks for your help testing!

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

Resolution: fixed
Status: newclosed

Merged to trunk in r73314. If you were testing the ports from my branch, you may want to rebuild them -- I made a few minor changes today (and I haven't been incrementing revisions on the branch, so the ports won't automatically get rebuilt).

Note: See TracTickets for help on using tickets.