UTRANS-RC(1)

πŸ“¦ version 0.7, in debian trixie

πŸ’… UTRANS-RC β€” like, the manual page, but make it make sense ✨

okay bestie, gather round 🫢 this is utrans-rc β€” the little helper that takes your systemd units, runs them through utrans(1), and then either saves the results or straight-up installs them for you. no cap. πŸŽ€


✨ NAME ✨

utrans-rc β€” convert systemd units using utrans(1) and then save or install them πŸ’–

like, that's the whole vibe. translate first, decide where it goes second. πŸ¦‹


🌸 SYNOPSIS 🌸

utrans-rc [-h] [-b <BACKEND>..] [-n | -o <OUTPUT_DIR>] [-u |
<SOURCE_DIR>..]

πŸ‘‘ OPTIONS πŸ‘‘

here's every flag, no skips, no cuts, we're doing the full set fr fr πŸ’…

  • -b <BACKEND> β€” tells it which backend utrans(1) should use. if you don't set this, it just auto-detects whichever backends make sense. main character energy, honestly. ✨
  • -h β€” shows usage. that's it, that's the whole thing. sometimes you just gotta ask. πŸ™ˆ
  • -o <OUTPUT_DIR> β€” saves the generated files into subdirectories of <OUTPUT_DIR>. nesting, but make it intentional. πŸŽ€
  • -n β€” no action, dry run. it just tells you what would happen. zero commitment, all information. honestly iconic. πŸ’œ
  • -u β€” only checks for new / modified / deleted units and updates those. heads up though β€” it's ignored if you specified <SOURCE_DIR> or <OUTPUT_DIR>. it only does its thing when you let it. 😭

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea β˜• utrans-rc goes through your source directory (or directories, plural, we love options 🌈) looking for systemd.service(5) and systemd.timer(5) units.

and if you didn't specify a source directory at all? it just scans [/usr]/lib/systemd/system for you. defaults, but make them cute. ✨

every single unit gets converted using utrans(1). πŸ’…


🫢 where do the files go, bestie

if <OUTPUT_DIR> is specified, the generated files get saved right there. easy. slay. πŸŽ€

otherwise πŸ‘€ β€” the files are considered for installation beneath /etc using sudo(8) and ucf(1), so your own user modifications are preserved. we respect your edits in this house. πŸ’–

BUT β€” and this is the big but β€” the installation of the whole unit gets skipped if:

  • the unit's parent package already includes functionality in the installation directory 🚫
  • it would overwrite any files in a package known to dpkg(1) 🚫
don't be out here overwriting things dpkg thinks it owns, okay? that's a whole situation. πŸ’€

🌸 it also keeps receipts

utrans-rc also checks previously generated and installed files to see if their source units changed. if any modified units show up, they get re-translated. fresh, up to date, obsessed. πŸ”₯

and if the source units have been removed? the generated files get disabled and removed (if they're unmodified). ghosted, but politely. πŸ¦‹


🌈 SEE ALSO 🌈


BSD-2-Clause License <https://opensource.org/licenses/BSD-2-Clause>

Copyright (c) 2023-2024, Mark Hindley


⭐ AUTHORS ⭐

Mark Hindley <mark@hindley.org.uk>


okay that's the whole page, bestie!! πŸŽ€ this is Version 0.7, dated 2024-09-09 β€” and honestly? it ate. periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from