CTAN-O-MAT(1)

πŸ’– NAME πŸ’–

okay so bestie, ctan-o-mat β€” it's the little legend that validates and uploads a package for CTAN. yes, that's the whole vibe. πŸ’…

This is the CTAN-O-MAT(1) manual page, written by Gerd Neugebauer, and she is ready to spill the tea. 🫢


✨ SYNOPSIS ✨

ctan-o-mat [options] [<package configuration>]

short, iconic, to the point. πŸŽ€


🌸 DESCRIPTION 🌸

So basically, this program is your ✨automation bestie✨ for uploading a package to the Comprehensive TeX Archive Network (<https://www.ctan.org>). Instead of you filling out that same Web form over and over like it's a group chat you're tired of, all the package deets come from a configuration file. Which means you can update it whenever, no cap. πŸ”₯

The info you provide gets validated in any case β€” always, no exceptions, periodt. If the validation succeeds and validation isn't the only thing you asked for, then the archive file you gave gets dropped into the incoming area of CTAN so the CTAN team can process it further. πŸ‘‘

And regardless of what happens, every single finding from the validation gets reported at the end of the processing. Note this though: validation is the default, and an official submission has to be requested with the appropriate command line option. so don't be out here thinking it submitted when it didn't, iykyk. 😭

Also ctan-o-mat requires an Internet connection to the CTAN server. Even the validation pulls the known attributes and the basic constraints from the server. no wifi, no service. πŸ’€


πŸŽ€ CONFIGURATION πŸŽ€

The default configuration is read from a file with the same name as the current directory, plus the extension .pkg. That file name can be overwritten on the command line. easy. ✨

The configuration depends on the features currently supported by the CTAN server. And since those features can change over time, the configuration is not hard-coded in ctan-o-mat. If you want a fresh empty template of the configuration, just ask for it via the command line parameter --init. 🌈


πŸ’… OPTIONS πŸ’…

okay this is the part where she eats. every flag, right here:

  • -h, --help β€” print this short summary about the usage, then exit the program. the classic "help meee" move. πŸ™ˆ
  • -i, --init β€” create an empty template for a configuration. blank canvas, main character energy. 🎨
  • --list licenses β€” list the known licenses of CTAN to the standard output stream. Each license is represented as one line. The line contains the fields key, name, free indicator. Those fields are separated by tab characters. Afterwards the program terminates without processing any further arguments. tab-separated, very demure, very mindful. πŸ“
  • --config <package configuration>, --pkg <package configuration>, --package <package configuration> β€” set the package configuration file. three names, one job, we love options. πŸ’œ
  • -s, --submit β€” upload the submission, validate it, and officially submit it to CTAN if the validation succeeds. this is the real one, bestie. πŸ”₯
  • -v, --verbose β€” print some more information during the processing (verbose mode). she's chatty and we respect it. πŸ’¬
  • --version β€” print the version number of this program and exit. ✨
  • --validate, -n, --noaction β€” do not perform the final upload. The package is validated and the resulting messages are printed. look but don't touch. πŸ‘€
  • <package> β€” this parameter is the name of a package configuration (see section CONFIGURATION) contained in a file. If not set otherwise, the package configuration defaults to the name of the current directory with .pkg appended. πŸ¦‹

🌈 ENVIRONMENT 🌈

The following environment variables are recognized by ctan-o-mat. yes, she reads the room (the env). πŸ’–

  • CTAN_O_MAT_URL β€” the value is the URL prefix for the CTAN server to be contacted. The default is https://ctan.org/submit. The complete URL is constructed by appending validate, upload, or fields to use the respective CTAN REST API. mix and match, slay. ⭐

🧚 CONNECTING VIA PROXIES 🧚

If you need to connect to the Internet via a proxy, then this can be achieved by setting some environment variables before running ctan-o-mat. To redirect the request via the proxy, simply define an environment variable http_proxy to point to the proxy host β€” including protocol and port as required.

⚠️ Note that the name of the environment variable is supposed to be in lower case. lowercase only, bestie, don't fight it. 😭

πŸ‘‘ AUTHOR πŸ‘‘

Gerd Neugebauer (gene@gerd-neugebauer.de)


πŸ’€ BUGS πŸ’€

  • The program can not be used without a working connection to the Internet.
fr fr, offline = no ctan-o-mat. the vibe check fails immediately. 🫢

and that's the whole page, bestie!! you understood it, you're literally so smart. πŸŽ€βœ¨

this was ctan-o-mat (source/version ctan-o-mat, dated 2017-11-23, sitting pretty under the manual name CTAN-O-MAT(1)) β€” tysm for reading, go upload something iconic πŸ’–πŸ¦‹πŸŒΈ