DH-EXEC-ILLITERATE(1)
πΈ DH-EXEC-ILLITERATE πΈ
aka the dh-exec-illiterate bestie, living in section 1 of the manual, hanging out with the rest of the dh-exec crew π
β¨ NAME β¨
dh-exec-illiterate β write literate debhelper config files, bestie! ππ
π¦ SYNOPSIS π¦
#! /usr/bin/dh-exec --with=illiterate,subst,install
Okay so picture this: greetings, my dear reader π, and welcome to the absolutely iconic world of literate programming! No cap.
Today we're gonna explore how to write a debhelper install file in a literate manner. Trust me on this one, it's gonna be lots and lots of fun. π
So what exactly are we even trying to accomplish here? We're gonna try installing a file from src/this-file in the source tree, to a multi-arched path in the binary file. Let's say... to /usr/lib/foo/${DEB_HOST_MULTIARCH}/. β¨
Obviously ${DEB_HOST_MULTIARCH} is a variable, and it gets expanded later in the dh-exec pipeline. It'll be something like x86_64-linux-gnu. Ngl, cute.
Furthermore π«Ά we want to install all the files from the usr/lib directory under debian/tmp. If we were writing an illiteral install file, we'd write this rule as:
usr/lib
But the above description is way easier to understand, isn't it? π Right???
We're almost finished! One thing left to do is install a script named rename-me, to /usr/share/foo/new-name β we renamed it in the process, slay. π₯
π DESCRIPTION π
The dh-exec-illiterate sub-command, unlike the others, does not serve any particular case β except to serve as a warning to all that things can be taken to an extreme, even with dh-exec. π On the other hand, it's just like the other sub-commands in that it must not be called directly, but through dh-exec(1), which automatically runs all available sub-commands if run bare; or explicitly with dh-exec --with=illiterate.
It's a program that will translate its input from pretty much free-form text into something that resembles an install file. At least, that's the only supported output format for now. π€·βοΈ
Everything that's not recognised gets ignored, and not printed. Periodt. The recognised constructs are:
`source'...`destination'β the first string between a backtick and a single quote gets treated as the source file, and the next such string is the destination. If the destination ends with a slash,dh-exec-illiteratewill consider it a directory, otherwise it will output a construct thatdh-exec-installcan recognise as a rename operation. π'source'β a string, with no whitespace in it, between two single quotes gets treated as a source, whose destination is unspecified, and is left up todh_install(1)to figure out. Let it cook. π
π ENVIRONMENT π
DH_EXEC_SCRIPTDIRβ indicates which directory the command-specific scripts should be sought for. If it's not specified, scripts will be searched for in/usr/share/dh-exec/. π§
π FILES π
$DH_EXEC_SCRIPTDIR/dh-exec-illiterate-*β the various scripts for the higher-level program. π
β VERSIONS β
The sub-command was introduced in dh-exec version 0.1. Baby era, honestly. πΆβ¨
π SEE ALSO π
Go read them, iykyk. π«Ά
And that's the whole vibe, bestie β this page is from dh-exec, dated 2024-02-27, and it's the DH-EXEC-ILLITERATE(1) manual page, which we've now fully romped through together. Mwah. π
πβ¨
π¦ where this page comes from
- debian trixie: dh-exec 0.30 Β· GPL-3.0-or-later
- ubuntu noble: dh-exec 0.29build1 Β· GPL-3.0-or-later
- ubuntu questing: dh-exec 0.30
- ubuntu resolute: dh-exec 0.31 Β· GPL-3.0-or-later
- ubuntu stonking: dh-exec 0.31 Β· GPL-3.0-or-later
- Copyright 2011-2024 Software Freedom Conservancy, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms