App::P...d::add(3pm)
π App::Pinto::Command::add β the manual page, but make it make sense π
okay bestie so you're reading App::P...d::add(3pm) from the User Contributed Perl Documentation, and honestly? this one is a whole serve. it's App::Pinto::Command::add, and it's about yeeting local archives into your repo. let's get into it π«Ά
β¨ NAME β¨
App::Pinto::Command::add β add local archives to the repository. that's it, that's the job π
πΈ VERSION πΈ
version 0.14. she's got a number, she's official, we stan.
π SYNOPSIS π
pinto --root=REPOSITORY_ROOT add [OPTIONS] ARCHIVE_FILE ...
π¦ DESCRIPTION π¦
so here's the vibe: this command takes your local distribution archives, adds them to the repository, and registers their packages on a stack. then it goes off and recursively pulls every single distribution that's needed to satisfy their prerequisites. like it will not rest until the dependency tree is fed π€
when it's hunting for prerequisite packages, Pinto looks in this order:
- the packages that already exist in the local repository π
- the packages that are available on the upstream repositories π
local first, upstream second. always. periodt.
π COMMAND ARGUMENTS π
the arguments here are paths to the distribution archives you wanna add. every single one of these files must exist and must be readable β no ghost files, no unreadable files, Pinto is not playing π
you can also pipe arguments into this command over STDIN, and that's genuinely iconic. in that case:
- blank lines get ignored
- lines that look like comments (i.e. starting with
#or;) get ignored too
so pipe away, queen.
π COMMAND OPTIONS π
--author NAME
sets the identity of the distribution author. the NAME gets automatically forced to uppercase and has to match /^[A-Z]{2}[-A-Z0-9]*$/ β which means two ASCII letters, followed by zero or more ASCII letters, digits, or hyphens. iykyk.
defaults to the user attribute specified in your ~/.pause configuration file, if such a file exists. otherwise it defaults to your current login username. so either way you're covered, bestie π
--cascade
!! THIS OPTION IS EXPERIMENTAL !!
when searching for a prerequisite package, always take the latest satisfactory version of the package found amongst all the upstream repositories, instead of just taking the first satisfactory version that shows up. it's giving "we're not settling, we're shopping around" β¨
but remember the golden rule: Pinto only searches the upstream repositories when the local repository does not already contain a satisfactory version of the package. local stays main character.
--diff-style=STYLE
controls the style of the diff reports. STYLE must be either concise or detailed:
concisereports show only one record for each distribution added or deleteddetailedreports show one record for every package added or deleted
the default style is concise. but the default style can be changed by setting the PINTO_DIFF_STYLE environment variable to your preferred STYLE. heads up: this variable affects the default style for diff reports generated by all other commands too. so it's a global mood, not a one-off π
--dry-run
goes through all the motions, but does not actually commit any changes to the repository. at the conclusion, a diff showing the changes that would have been made gets displayed. use this option to see how upgrades would potentially impact the stack. it's the "add to cart but don't check out" of Pinto π
--message=TEXT
-m TEXT
uses TEXT as the revision history log message. if you don't use the --message option or the --use-default-message option, then you'll be prompted to enter the message via your text editor. use the PINTO_EDITOR or EDITOR or VISUAL environment variables to control which editor is used.
a log message is not required whenever the --dry-run option is set, or if the action didn't yield any changes to the repository. no changes, no receipt, no problem π
--no-fail
!! THIS OPTION IS EXPERIMENTAL !!
normally, failure to add an archive (or its prerequisites) causes the command to immediately abort and rollback the changes to the repository. but if --no-fail is set, then only the changes caused by the failed archive (and its prerequisites) get rolled back, and the command keeps processing the remaining archives. resilient queen πͺ
this option is useful if you wanna throw a whole list of archives into a repository and see which ones are problematic. once you've fixed the broken ones, you can throw the whole list at the repository again. chef's kiss.
--no-index=PACKAGE
-x PACKAGE
--no-index=/PATTERN
-x /PATTERN
!! THIS OPTION IS EXPERIMENTAL !!
excludes the PACKAGE from the index. if the argument starts with a slash, then it's interpreted as a regular expression, and all packages matching the pattern get excluded. exclusions only apply to the added distributions (i.e. the arguments to this command), so they do not affect any prerequisite distributions that may also get pulled. you can repeat this option to specify multiple PACKAGES or PATTERNS π
this option is useful when Pinto's indexing is too aggressive and finds packages that it probably should not. remember: Pinto does not promise to index exactly as PAUSE would. when using a PATTERN, take care to use a conservative one so you don't exclude the wrong packages. and fr fr, Pinto will throw an exception if you exclude every package in the distribution. so don't do that π
--pin
pins all the packages in the added distributions to the stack, so they can't be changed until you unpin them. π
the pin does not apply to any prerequisites that are pulled in for this distribution. however, you may pin them separately with the pin command, if you so desire. your call, bestie.
--recurse
--no-recurse
recursively pulls any distributions required to satisfy prerequisites for the targets. the default value for this option can be configured in the pinto.ini configuration file for the repository (it's usually set to 1). to disable recursion, use --no-recurse.
--skip-missing-prerequisite=PACKAGE
-k PACKAGE
!! THIS OPTION IS EXPERIMENTAL !!
skips any prerequisite with name PACKAGE if a satisfactory version can't be found. however, a warning will be given whenever this occurrs. (yes, that's the original spelling, we keep the facts exactly as they are π)
this option only has effect when recursively fetching prerequisites for the targets (see also the --recurse option). this option can be repeated. stack 'em up π§
--skip-all-missing-prerequisites
-K
!! THIS OPTION IS EXPERIMENTAL !!
skips all missing prerequisites if a satisfactory version can't be found. however, a warning will be given whenever this occurrs. this option will silently override the --skip-missing-prerequisite option, and only has effect when recursively fetching prerequisites for the targets (see also the --recurse option). it's the "skip all" button and she does not ask twice β
--stack=NAME
-s NAME
puts all the packages onto the stack with the given NAME. defaults to the name of whichever stack is currently marked as the default stack. use the stacks command to see the stacks in the repository. go pick your fave π
--use-default-message
-M
uses the default value for the revision history log message. Pinto will generate a semi-informative log message just based on the command and its arguments. if you set an explicit message with --message, the --use-default-message option gets silently ignored. awkward but fine π«
--with-development-prerequisites
--wd
also pulls development prerequisites so you'll have everything you need to work on those distributions, in the event that you need to patch them in the future. be aware that most distributions do not actually declare their development prerequisites. so like, don't count on it, but it's there if you need it π
π AUTHOR π
Jeffrey Ryan Thalhammer <jeff@stratopan.com>
πΈ COPYRIGHT AND LICENSE πΈ
This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
and that's the whole page, bestie π go forth and add those archives. this was perl v5.40.1, dated 2025-04-21, and honestly? iconic. slay, stay hydrated, and remember: local repo first π
π¦ where this page comes from
- debian trixie: pinto 0.14000-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: pinto 0.14000-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms