Index | Thread | Search

From:
Edd Barrett <edd@theunixzoo.co.uk>
Subject:
Re: redux Re: patch: update-plist + texlive
To:
marc.espie.openbsd@gmail.com
Cc:
ports@openbsd.org, sthen@openbsd.org, tb@openbsd.org
Date:
Mon, 6 Jul 2026 20:38:54 +0100

Download raw body.

Thread
  • Marc Espie:

    redux Re: patch: update-plist + texlive

  • Edd Barrett:

    redux Re: patch: update-plist + texlive

  • Hi Marc,
    
    > On Mon, Jul 06, 2026 at 10:13:18AM +0200, Marc Espie wrote:
    >
    > Final patch until I get feedback from edd.
    
    First, thanks for doing this. I appreciate that hacking TeX Live is neither
    fun, nor sexy.
    
    I've now had a chance to play with this (I used tb@'s diff).
    
    It's looking pretty good. It's going to remove a load of duplicated logic, and
    it's also already fixing things that have been missed, e.g. I spotted this in
    the diff of the PLISTs after running `make update-plist`:
    
    ```
    -share/texmf-dist/scripts/minted/latex2pydata-0.5.0-py3-none-any.whl
    -share/texmf-dist/scripts/minted/latexminted-0.6.0-py3-none-any.whl
    +share/texmf-dist/scripts/minted/latex2pydata-0.5.0-${MODPY_PY_PREFIX}none-any.whl
    +share/texmf-dist/scripts/minted/latexminted-0.6.0-${MODPY_PY_PREFIX}none-any.whl
    ```
    
    As you pointed out, we can now start culling some Python from FILESDIR.
    `write_plists.py` is now totally redundant and can be removed.
    
    As I understand, this should also be possible:
    ```
    Index: files/update_plist_hints.py
    ===================================================================
    RCS file: /cvs/ports/print/texlive/texmf/files/update_plist_hints.py,v
    diff -u -p -r1.9 update_plist_hints.py
    --- files/update_plist_hints.py 8 Dec 2024 20:27:52 -0000       1.9
    +++ files/update_plist_hints.py 6 Jul 2026 19:15:43 -0000
    @@ -102,13 +102,6 @@ def build_subset_file_lists(tlpdb):
    
         sys.stderr.write("making plist map...\n")
    
    -    # CONFLICTING PACKAGES
    -    # Whole packages that are ported elsewhere.
    -    conflict_pkgs = ["asymptote", "latexmk", "texworks", "t1utils",
    -                     "dvi2tty", "detex", "texinfo", "lcdftypetools"]
    -    conflict_pkg_files, conflict_symlinks = \
    -        collect_files(allspecs(conflict_pkgs, include_deps=False), db)
    -
         # BUILDSET
         # The smallest subset for building ports.
         buildset_pkgs = [
    @@ -230,7 +223,7 @@ def build_subset_file_lists(tlpdb):
             TargetPlist.DOCS: docs_files
         }
    
    -    comment_files = CONFLICT_FILES | conflict_pkg_files | commented_docs_files
    +    comment_files = CONFLICT_FILES | commented_docs_files
         return plist_map, comment_files, symlink_map
    ```
    
    (because that's what `UPDATE_PLIST_ARGS += -t ...` is all about)
    
    However, that change gives:
    ```
    Figuring out tie points
    Tieing loose objects
    Copying objects
    Not a HASH reference at /usr/ports/infrastructure/bin/update-plist line 1107.
    ```
    
    (There's some more culling to do asides from that change, like `CONFLICT_FILES`
    can be trimmed down, maybe removed)
    
    I'd be tempted to do:
    ```
    .PHONY: ${WRKDIR}/hints
    ```
    
    Because the target doesn't know when `update_plist_hints.py` has changed. I
    fell into this trap myself right off the bat. Thoughts?
    
    Can we get a revised diff with the above perl crash fixed? Then I can do a
    proper job on the Python killing and run a partial bulk to look for fallout
    (although, I don't expect any tbh).
    
    Later I will also look into why we are getting duplicate lines in the hints file. It
    wouldn't surprise me if there's a bug in the tlpdb causing that.
    
    Cheers!
    
    -- 
    Best Regards
    Edd Barrett
    
    https://www.theunixzoo.co.uk
    
    
  • Marc Espie:

    redux Re: patch: update-plist + texlive

  • Edd Barrett:

    redux Re: patch: update-plist + texlive