SHTOOLIZE.TMP(1)

πŸ“¦
version 2.0.8 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– SHTOOLIZE.TMP(1) πŸ’–

okay bestie, pull up a chair, we're reading the shtoolize page from the GNU Portable Shell Tool manual and it is lowkey iconic. no cap.


✨ NAME ✨

shtoolize β€” build individual GNU shtool scripts. that's it. that's the whole job. she builds scripts. πŸ’…


🌸 VERSION 🌸

GNU shtool 2.0.8 (18-Jul-2008) β€” yes she's a vintage queen and she still slays πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

shtoolize [-h] [-v] [-q] [-o script] module [ module ... ]

like. she takes some flags, and then she takes modules, and she will keep taking modules until you stop typing them. greedy in the best way fr fr.


πŸ’œ DESCRIPTION πŸ’œ

so here's the tea: the shtoolize program builds individual GNU shtool scripts β€” written to the default output file shtool, or to whatever script you specified β€” out of one or more shtool ingredient modules. think of it like a build-your-own-bestie situation. you pick the modules, she assembles the script. ✨

the available modules are:

  • echo β€” Print string with optional construct expansion
  • mdate β€” Pretty-print modification time of a file or dir
  • table β€” Pretty print a field-separated list as a table
  • prop β€” Display progress with a running propeller
  • move β€” Move files with simultan substitution
  • install β€” Install a program, script or datafile
  • mkdir β€” Make one or more directories
  • mkln β€” Make link with calculation of relative paths
  • mkshadow β€” Make a shadow tree
  • fixperm β€” Fix file permissions inside a source tree
  • rotate β€” Rotate a logfile
  • tarball β€” Roll distribution tarballs
  • subst β€” Apply sed(1) substitution operations
  • platform β€” Platform identification utility
  • arx β€” Extended archive command
  • slo β€” Separate linker options by library class
  • scpp β€” Sharing C Pre-Processor
  • version β€” Generate and maintain a version information file
  • path β€” Deal with program paths

and THEN, bestie, there's a little bonus situation: a pseudo-module "all" which is basically a short-hand for:

"echo mdate table prop move install mkdir mkln mkshadow fixperm platform arx slo scpp version path"

which is to say, it builds a shtool script with all the modules in the standard order. an installed shtool is usually built this way via "shtoolize -o shtool all". one word, whole script, main character energy πŸ‘‘

now, why would you even do this instead of just grabbing everything? because sometimes you want a smaller sized script and you genuinely don't need all of the available shtool functionality. the way that a classical Autoconf based free software package only needs, like, a tiny lil shtool script built via "shtoolize -o shtool install mkdir" β€” and honestly? that might be sufficient. minimalism is a vibe. 🌿


πŸŽ€ OPTIONS πŸŽ€

the following command line options exist, and yes we're going through all of them:

  • -h β€” Displays a short help page describing the usage of shtoolize. (she's helping! she's telling you how to use her!)
  • -v β€” Displays the version number of shtoolize/shtool. (identity check πŸ’…)
  • -q β€” Displays no processing information. (quiet. mysterious. silent but slaying.)
  • -o script β€” Writes the output to file script instead to file "shtool". (custom filename, custom destiny ✨)

🌈 EXAMPLE 🌈

the typical free software package which is based on GNU libtool and GNU shtool uses a "Makefile" entry like the following:

#   Makefile entry for upgrading GNU tools
upgrade-tools:
    libtoolize -f -c
    shtoolize -q all

this upgrades the three files "ltmain.sh", "ltconfig" and "shtool" in the current source tree to the latest versions. three files, one make target, absolutely ate πŸ”₯


🫢 SEE ALSO 🫢


πŸ’– AUTHOR πŸ’–

  • Ralf S. Engelschall
  • rse@engelschall.com
  • www.engelschall.com

πŸ’€ friendly reminder that all the facts above are hers, not mine β€” I just put them in a cuter outfit. everything literal stays literal. periodt.

okay that's the whole page, bestie, and lemme just say β€” this is shtool 2.0.8, dated 18-Jul-2008, and the manual page is literally called SHTOOLIZE.TMP(1). vintage, but she still understood the assignment. mwah πŸ’‹πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from