RPM::G...Sanity(3pm)

πŸ“¦
version 0.34 Β· 2 versions
, in fedora 43

πŸ’– RPM::G...Sanity β€” the 3pm Perl manual πŸ’–

okay bestie, welcome to RPM::G...Sanity, a section 3pm Perl manual page from the User Contributed Perl Documentation collection. it's giving ✨specfile linting✨ energy and honestly? obsessed. let's get into it 🫢


🌸 NAME 🌸

FIXME β€” FIXME

like. literally that's it. the name is FIXME and the description is FIXME. no cap, this page is a template that never got filled in and i respect the commitment to the bit πŸ’€


πŸŽ€ SYNOPSIS πŸŽ€

use Fixme::FIXME;

....

that's the whole vibe. use Fixme::FIXME; and then .... which is not real Perl, that's just the author saying "you know what goes here" πŸ™ˆ


πŸ¦‹ DESCRIPTION πŸ¦‹

FIXME fixme fixme fixme

yeah. it's placeholder city up in here. the real ✨content✨ of this page lives down in DIAGNOSTICS, so scroll, bestie, scroll 🧚


✨ CONSTRUCTOR ✨

heads up: this is FIXME-only if OO β€” meaning it's only relevant if this thing is written as object-oriented.

  • new( FIXME-args ) β€” FIXME FIXME describe constructor

so yeah, the constructor exists, it takes FIXME-args, and the description of it is literally FIXME FIXME describe constructor. iconic of it to not explain itself πŸ’…


πŸ’œ METHODS πŸ’œ

FIXME document methods β€” again, placeholder behaviour, we love a page that admits it.

  • method1 β€” ...
  • method2 β€” ...

two methods, both of them vibes, neither of them documented 🌈


⭐ EXPORTED FUNCTIONS ⭐

nothing here bestie. literally empty. no exports, no notes, just silence πŸŽ€

⭐ EXPORTED CONSTANTS ⭐

also empty. zero constants. the void is constant though, if you think about it πŸ’€

⭐ EXPORTABLE FUNCTIONS ⭐

empty too. three empty sections in a row is lowkey a mood πŸ¦‹

🌸 FILES 🌸

no files listed. nope. none. moving on ✨

πŸ”₯ DIAGNOSTICS πŸ”₯

okay HERE is the actual main character energy of this whole page. these are the gripes this thing yells at you about, and i need you to pay attention fr fr πŸ‘‘

🩹 MacroSurprise

did you know that RPM expands macros even inside comments?? 😭 like. inside. comments. rude.

sometimes this is fine: %{name}, %{version} β€” those are chill. but when %{foo} is a multi-line macro, or %if, or %patch, that's when the unpleasant surprises start showing up at your door 🫠

as of May 2012, this test only triggers on a certain well-defined list of hazardous macros: patch, if, else, endif, define. (it used to trigger on %anything, but that gave way too much noise β€” rip to that era, it was a lot). this list may need to be refined over time.

Recommendation: double-percent all macros in comments: %%{name}

not me learning this the hard way. double those percents bestie, trust πŸ’…

🩹 ChangelogMissing

there is no %changelog section in your specfile. can this happen? apparently yes, and we're all just living with that knowledge πŸ™ˆ

🩹 ChangelogEmpty

the %changelog section in your specfile is empty. this error doesn't sound like it could happen, but it does. and honestly? that's so real of it 😭

🩹 ChangelogOnlyNeedsVR

you included your package name in the %changelog entry. all you need is the Version-Release. see <http://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs> ✨

🩹 ChangelogCruftInVersion

the version string in your first %changelog entry includes unnecessary cruft. cruft detected. cruft removed. periodt πŸ’…

🩹 ChangelogWrongEpoch

you included an epoch in your %changelog entry, but it's the wrong one. 😬

🩹 ChangelogUnexpectedEpoch

you included an epoch in your %changelog entry, but the specfile itself does not define an Epoch. surprise epoch! not the good kind πŸŽ€

🩹 ChangelogBadVersion

the version string in your first %changelog entry does not match the one defined in the package specfile. mismatch behaviour, we hate to see it πŸ¦‹

🩹 ChangelogBadRelease

the release string in your first %changelog entry does not match the one defined in the package specfile. same energy, different field, still a no πŸ’€

🩹 ChangelogWeirdLine

i could not parse the first line of the %changelog section in your specfile. see <http://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs> 🌈

🩹 ChangelogLeadingWhitespace

you've indented a line in a changelog message, perhaps for clarity, but that indentation will not survive rpmbuild. customers who run rpm -q --changelog will see that line without any leading whitespace.

this is probably not a cataclysmic source of confusion, but please check anyway πŸ™

🩹 ChangelogMacros

percent signs in .spec files get expanded as macros. when you write Replaced /bin with %{bindir}, rpm -q --changelog will show Replaced /bin with /bin. confusing! the excerpt in the gripe message shows you what you wrote and what customers will see πŸ‘€

Solution: double up percent signs: %%{foo}.

🩹 ChangelogWrongWeekday

a specfile %changelog entry has a mismatch between the weekday and the date. there is no automated way to know which is correct. this needs human intervention. that's you, bestie. you're the human 🫢


πŸ‘€ SEE ALSO πŸ‘€

L<>

yeah it's an empty L<>. keep reading, this becomes relevant in a sec 😭


πŸ’Œ AUTHOR πŸ’Œ

Ed Santiago <santiago@redhat.com> β€” thank you for your service, king πŸ‘‘


🚨 POD ERRORS 🚨

hey! the above document had some coding errors, which are explained below:

Around line 616:

An empty L<>

called it. the SEE ALSO section's empty L<> is the crime scene and this is the report πŸ•΅οΈβ™€οΈ


and that's the whole page!! slay ✨ this was RPM::G...Sanity(3pm) from perl v5.42.0, dated 2025-07-25. mwah, go double your percent signs, bestie πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from