• Stars
    star
    411
  • Rank 105,247 (Top 3 %)
  • Language
    Perl
  • Created almost 10 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rewrite of some core scripts in TeX Live from shell to perl

texlive-rewrite

Some of the core scripts of TeX Live are still written in shell, taken from Thomas Esser's teTeX. Since we would like to have the same scripts used on all supported platforms, that includes Windows, we are planning to rewrite these scripts in perl or texlua.

Currently only updmap has been rewritten (and extended), but we want to do the same with mktexlsr and fmtutils, as well as the depending scripts.

Contributions are welcome. Rewrite of some core scripts in TeX Live from shell to perl

Aims

Our aims are:

  • use the same scripts on all platforms, not separate implementations
  • make each program available as perl function / module and cmd line prog
  • separate out the necessary common functions into one file (not TLUtils.pm) so that it can be used in other circumstances, too (one selfcontained distribution!)
  • add -sys switch to all programs

Scripts involved:

  • main scripts (with cmd line interface) mktexlsr fmtutil updmap (partially done) texconfig (via wrapper for tlmgr?)
  • supporting scripts in texmf-dist/web2c/ mktex.opt (a script!) mktexdir(.opt) mktexnam(.opt) mktexupd
  • supporting scripts in texmf-dist/texconfig/ tcfmgr
  • supporting scripts in texmf-dist/scripts/texlive/ kpsetool.sh kpsewhere.sh texlinks.sh

mktexlsr/mktexupd

help output

Rebuild ls-R filename databases used by TeX. If one or more arguments DIRS are given, these are used as the directories in which to build ls-R. Else all directories in the search path for ls-R files ($TEXMFDBS) are used.

Options:
  --dry-run  do not actually update anything
  --help     display this help and exit 
  --quiet    cancel --verbose
  --silent   same as --quiet
  --verbose  explain what is being done
  --version  output version information and exit

If standard input is a terminal, --verbose is on by default.

mktexupd

adds entries without reading the rest of the tree

Operation of mktexlsr:

  • cmd line options
  • get list of trees to rebuild: cmd line kpsewhich --show-path=ls-R | tr : '\n' or so (why not kpsewhich -var-value TEXMFDBS?)
  • for each tree . make it absolute tree . check for ls-R versus ls-r, use what is there, or create ls-R . get link target if it is a link . use kpsestat and chmod to change permissions of new file according to the upper level dir . check for magic string (new and old) . check for writability . add toplevel ./: at top . run ls -LRa and do some sed magic remove empty parts, remove VCS dirs

perl option:

use File::Find (core module)

find(\&wanted, @directories)

More Repositories

1

kobo-ja-dict-enhance

Enhance built-in Japanese dictionaries from Kobo with English definitions
Perl
426
star
2

cinnadock-p2

For of the Cinnadock Plus plugin to update it to current Cinnamon
JavaScript
421
star
3

debian-gwaei

C
419
star
4

debian-graph

Representing Debian UDD in a graph database
Perl
419
star
5

jfontmaps

dvipdfmx map files and support programs for Japanese font setup
Perl
418
star
6

piwigopress

Piwigo-Wordpress integration
PHP
418
star
7

build-tlptexlive

scripts and patches for building tlptexlive
Shell
418
star
8

debian-speg

Python
418
star
9

eagloss

multi script chinese glossary
TeX
418
star
10

debian-pycson

Python
417
star
11

debian-mu

C++
417
star
12

debian-xxhash

C
416
star
13

pgf-blur

Development of pg-blur package
TeX
415
star
14

nautilus-sendto-scripts

Development of a nautilus-sendto extension that allows sending to user-configurable scripts
Gettext Catalog
415
star
15

slick-google-map-plugin

Free Google map Wordpress plugin
PHP
413
star
16

ptex2pdf

convert Japanese TeX documents to pdf
Lua
413
star
17

rfkill-applet

general rfkill applet for the gnome panel written in python
Python
409
star
18

sony-control-center

Fork of the sony-f11-vaio-control-center to work with newer kernels and with all Sony laptops supported by the sony-laptop kernel module.
C++
409
star
19

sony-laptop-zseries

adapted kernel module for zseries laptops
C
409
star
20

tlptexlive-root

packaging stuff for tlptexlive
Perl
408
star
21

tlmgr-electron-react

tlmgr gui using electron and react
JavaScript
408
star
22

okular-debian

packaging okular for debian
C++
163
star
23

elixir-debian

Debian packaging of Elixir
Elixir
157
star
24

acme-debian

Debian packaging of python acme
Python
157
star
25

certbot-debian

Debian packaging of certbot
Python
156
star
26

qpdfview-debian

Debian packaging of qpdfview
HTML
151
star
27

mupdf-debian

packaging of mupdf for debian
C
150
star
28

pymupdf-debian

Packaging of pymupdf for Debian
SWIG
149
star
29

rspamd-debian

debian packaging of rspamd
C
149
star
30

susi-assistant

SUSI Smart Assistant
Python
109
star
31

rssguard-debian

Debian packaging of RSS Guard
C++
6
star