RPMLUA(1)

πŸ‘‘ rpmlua β€” the RPM Lua interpreter, bestie edition πŸ’…

okay so real talk: this is the manual page for rpmlua, aka section 1 of the General Commands Manual, and it's literally your backstage pass to the Lua interpreter that lives inside RPM. she's giving "tiny tool, main character energy" ✨


🌸 NAME 🌸

rpmlua β€” the RPM Lua interpreter 🐍✨


πŸ’– SYNOPSIS πŸ’–

rpmlua [options] [LUA_SCRIPT] [-- ARG ...]

like, that's the whole vibe. options first, then maybe a script, then -- and whatever args you wanna yeet at it πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

She runs the RPM internal Lua interpreter. that's it, that's the job πŸ’…

not me dropping the most important lore rn: indexes start at 1 in Lua, so the program name is at arg[1] instead of the more customary index zero. yes bestie, it's off-by-one from what you'd expect β€” that's just how Lua does it, no cap 😭

πŸŽ€ ARGUMENTS πŸŽ€

  • LUA SCRIPT β€” the Lua script, obviously. your moment to shine 🌟
  • ARG β€” options and arguments that get passed along to SCRIPT_FILE. and heads up: rpmlua stops processing at --, so everything after that divider belongs to your script, not to rpmlua πŸ™ˆ

✨ OPTIONS ✨

  • -i, --interactive β€” run an interactive session after executing the optional script or statement. so you can do your thing and then keep the conversation going 🫢
  • --opts=OPTSTRING β€” do getopt(3) option processing on the passed arguments, according to OPTSTRING. yes, actual getopt energy. iconic 🧚
  • -e "STATEMENT", --execute "STATEMENT" β€” execute a Lua statement before executing the optional script. little pregame statement, love that for you πŸ’œ

πŸ’€ EXIT STATUS πŸ’€

On success you get 0. anything else is a nonzero failure code β€” so if the shell is being dramatic, that's your cue πŸ”₯


🌈 EXAMPLES 🌈

Run a script file. simple. elegant. slay:

rpmlua test.lua

Execute test.lua with option processing going on β€” look at her multitasking:

rpmlua --opts=ab:c args.lua -- 1 2 3 -c -b5

One single statement to compare rpm versions, no script file needed:

rpmlua -e "print(rpm.ver('1.0') < rpm.ver('2.0'))"

And the one where you just wanna vibe in a REPL:

rpmlua -i

πŸ“ SEE ALSO πŸ“


and that's the whole page, bestie β€” written for RPM 6.1.0, dated 2026-08-20, and yeah the manual itself is literally named RPMLUA(1). go forth and interpret some Lua πŸ’œβœ¨

πŸ“¦ where this page comes from