Shipwri...:Import(3)

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

πŸ’– Shipwri...:Import(3) β€” like, the manual page for Shipwright::Script::Import, bestie πŸ’–

okay so bestie, pull up a chair, grab a boba πŸ§‹, because we're about to talk about Shipwright::Script::Import and honestly? it's giving main character energy in the User Contributed Perl Documentation section. no cap. ✨


✨ NAME ✨

Shipwright::Script::Import β€” import sources and their dependencies. yes. both. the whole friend group. 🫢


πŸŽ€ SYNOPSIS πŸŽ€

shipwright import cpan:Jifty cpan:Catalyst

that's it. that's the whole vibe. two sources, one command, slay. πŸ’…


πŸ”₯ OPTIONS πŸ”₯

okay this is the long part, but every single one of these matters, so we're going through all of them, no skimming, periodt.

  • -m [--comment] COMMENT β€” drop a comment. tell the shipyard how you feel about it. πŸ’¬
  • --name NAME β€” set the source name. heads up, it's only alphanumeric characters, . and -. that's the whole guest list, nobody else gets in. 🚫
  • --as β€” the branch name. yes, like a git branch, cute. 🌿
  • --build-script FILENAME β€” point at the build script. πŸ“œ
  • --require-yml FILENAME β€” point at the require.yml. πŸ“„
  • --no-follow β€” don't follow the dependency chain. we are NOT chasing anyone today. πŸ™…β™€οΈ
  • --extra-test FILENAME β€” specify the extra test source (this one's for --only-test when building).
  • --test-script FILENAME β€” specify the test script (also for --only-test when building).
  • --min-perl-version β€” minimal perl version. default is the same as the one which runs this command, so like, it inherits the vibe. πŸͺ
  • --overwrite β€” import dependency sources anyway even if they are already in the shipyard. stubborn queen behavior, and honestly? respected. πŸ‘‘
  • --version β€” specify the source's version. πŸ“Œ
  • --skip β€” specify a list of sources not to import. the "you're not coming" list. πŸ’€
  • --skip-recommends β€” specify a list of sources of which recommends not to import.
  • --skip-all-recommends β€” skip all the recommends to import.
  • --skip-all-test-requires β€” skip all the test requires to import.
  • --skip-all-build-requires β€” skip all the build requires to import.
  • --skip-installed β€” skip all the installed modules to import.
  • --include-dual-lifed β€” include modules which live both in the perl core and on CPAN. dual citizenship icons. 🌍
  • --no-default-build β€” don't try to detect and set build system. we're not guessing today. πŸ™ˆ

🌸 DESCRIPTION 🌸

so what does the import command actually do? it imports a new source into a shipyard from a bunch of supported source types (all of them are listed below, keep scrolling bestie). ✨

here's the tea though: if a source of the name specified by --name already exists in the shipyard, the old files for that source in /sources and /scripts are deleted and new ones are added. like a glow-up, but for files. πŸ’…

and ngl, this is the recommended method for updating non-svn, svk, or CPAN sources to new versions. see Shipwright::Script::Update for more information on the update command, which is used for updating svn, svk, and CPAN dists. iykyk. 🫢


🌈 SUPPORTED SOURCE TYPES 🌈

generally, the format is <type:schema>. and bestie, be careful β€” there is no blank between type and schema, just a colon. one colon. that's it. don't add a space. 🚨

CPAN

e.g. cpan:Jifty::DBI cpan:File::Spec

CAVEAT: we don't support renaming CPAN sources when importing, because it really is not a good idea and may hurt shipwright somewhere. 😭 seriously. don't.

File

e.g.

<file:/home/sunnavy/foo-1.23.tar.gz>
<file:/home/sunnavy/foo-1.23.tar.bz2>
<file:/home/sunnavy/foo-1.23.tgz>

Directory

e.g.

<directory:/home/sunnavy/foo-1.23>
<dir:/home/sunnavy/foo-1.23>

HTTP

e.g.

<http:http://example/foo-1.23.tar.gz>

you can also omit one http, like this:

<http://example.com/foo-1.23.tar.gz>

.tgz and .tar.bz2 are also supported. πŸ’–

FTP

e.g.

<ftp:ftp://example.com/foo-1.23.tar.gz>
<ftp://example.com/foo-1.23.tar.gz>

.tgz and .tar.bz2 are also supported. πŸ’–

SVK

e.g.

<svk://public/foo-1.23>
<svk:/local/foo-1.23>

SVN

e.g.

<svn:file:///home/public/foo-1.23>
<svn:http://svn.example.com/foo-1.23>

Git

e.g.

<git:file:///opt/foo.git>
<git://github.com/bestpractical/shipwright.git>

Shipyard

e.g.

<shipyard:/tmp/fs/foo>

⭐ GLOBAL OPTIONS ⭐

these ones apply to, like, everything. the universal constants. 🌌

  • -r [--repository] REPOSITORY β€” specify the repository uri of our shipyard. 🏠
  • -l [--log-level] LOGLEVEL β€” specify the log level. your choices are info, debug, warn, error, or fatal. pick your energy. πŸ“Š
  • --log-file FILENAME β€” specify the log file. where the receipts live. 🧾

πŸ¦‹ AUTHORS πŸ¦‹

sunnavy <sunnavy@bestpractical.com>

shoutout to sunnavy, an absolute icon. πŸ‘‘


Shipwright is Copyright 2007-2015 Best Practical Solutions, LLC.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


and that's the whole page bestie, you ate that πŸ“βœ¨ β€” this one's from perl v5.42.0, dated 2025-07-25, and it's the Shipwri...:Import(3) manual page. go import something iconic. πŸ’…πŸŽ€

πŸ“¦ where this page comes from