NAME

Zuzuzoo - install and remove Zuzu module distributions

SYNOPSIS

use Zuzuzoo;

my $zoo = Zuzuzoo->new(
  lib_dir  => '/home/alex/.zuzu/modules',
  bin_dir  => '/home/alex/.zuzu/bin',
  meta_dir => '/home/alex/.zuzu/meta',
  dry_run  => 0,
);

$zoo->install_tarball( '/tmp/my-dist.tar.gz' );
$zoo->remove_distribution( name => 'my-dist' );

DESCRIPTION

Zuzuzoo is the programmatic API behind the zuzuzoo installer command. It can install a distribution tarball, remove an installed distribution, and remove old installed versions based on metadata records.

METHODS

new

Create a new installer instance.

Required keys:

  • lib_dir

    Directory where module files are copied.

  • bin_dir

    Directory where script files are copied.

  • meta_dir

    Directory used for install metadata JSON files.

Optional keys:

  • dry_run

    When true, actions are printed without changing files.

install_tarball

Install a distribution from a tarball path. Returns 0 on success and dies on fatal errors.

remove_distribution

Remove an installed distribution by name, optionally limited by version. Returns 0 on success and dies on fatal errors.

remove_prior_installations

Remove all installed metadata records for name except the provided version.

remove_distribution_from_meta

Remove files listed in one metadata record and delete the metadata JSON file.

COPYRIGHT AND LICENCE

Zuzuzoo is copyright Toby Inkster.

It is free software; you may redistribute it and/or modify it under the terms of either the Artistic License 1.0 or the GNU General Public License version 2.