Module:...thority(3)

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

πŸ’– Module::Install::Authority β€” the page from the User Contributed Perl Documentation manual ✨

okay bestie, sit down, we're doing Module::Install::Authority and it's genuinely such a slay 🫢 it's the little plugin that adds an x_authority key to your META.yml, and it fixes a whole class of permission drama that used to ruin people's entire weeks. no cap.


🌸 NAME 🌸

Module::Install::Authority</purl> β€” adds an x_authority key to META.yml. that's the whole job, and it does it flawlessly πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

here's the vibe, literally copy-paste energy:

use inc::Module::Install;
name 'Example';
all_from 'lib/Example.pm'
authority 'cpan:BOBTFISH';
WriteAll;

(yes the all_from line has no semicolon, that's just how the page has it, don't come for me πŸ™ˆ)


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea. if you upload a distribution that has an x_authority key in its META.yml, then PAUSE will hand out firstcome permissions on every package in that dist to the user named by the x_authority key β€” and it gives the uploader co-maint on top of that. iconic behavior honestly.

now the ✨lore✨: traditionally, if you uploaded a dist with A.pm in it, and then you gave someone else comaint, and they uploaded a later release that also included B.pm… you had a problem. because you, the initial author, have no permissions to release B.pm. like, you built the whole thing and now you're locked out of your own house 😭 not the move.

adding the x_authority key to your distribution fixes this. it makes sure that any subsequent packages uploaded as part of the dist by co-maintainers get their permissions set so that one single person is the canonical source of permissions for the whole dist. one queen, one crown πŸ‘‘ periodt.

this makes coordination β€” and maintainance sharing β€” so much easier for big distributions, or the ones maintained by a whole pool of people. group project, but everyone actually has the right perms for once 🫢


⭐ METHODS ⭐

πŸ’œ authority ($pause_id)

adds an x_authority key to your META.yml or META.json. that's it. that's the method. she's simple, she's effective, she ate πŸ’…


πŸ’€ BUGS πŸ’€

this module should be able to take x_authority from the $AUTHORITY variable in the 'main' module of the dist if present.

(so like, it should but it doesn't yet β€” noted, logged, on the list πŸ₯²)


🌈 AUTHOR 🌈

Tomas Doran (t0m) <bobtfish@bobtfish.net>

give them their flowers πŸ’


Copyright (C) 2012 Tomas Doran


🧚 LICENSE 🧚

this software is licensed under the same terms as perl itself. classic, generous, we love to see it.


and that's the whole page bestie!! πŸŽ€ this was rendered with perl v5.42.0 and dated 2025-07-25 β€” go forth and set your authority, mwah πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from