App::Nrepo - An application to handle management of various software repositories This module is purely to designed to be used with the accompanying script bin/nrepo Please look at its pod for instantiating of this Module
go
Entry point for this object my $o = App::Nrepo->new(config => $hashref, logger => Log::Dispatch->new()); $o->go($action, %options); Valid actions:
add-file
del-file
clean
init
list
mirror
tag
For each actions required options see its appropriate method below
add_file
Action: add-file
Description: Adds a file to a local repository and updates the related metadata
Options:
repo
The name of the repository as reflected in the config
arch
The arch this package should be added to as reflected in the config
file
The path of the file to be added to the repository
force
Boolean to enable force overwriting an existing file in the repository
del_file
Action: del-file
Description: Removes a file to a local repository and updates the related metadata
The arch this package should be removed from as reflected in the config
The filename to be removed to the repository
Action: clean
Description: Removes files from a repository that are not referenced in the metadata
The name of the repository as reflected in the config If 'all' is supplied it will perform this action on all repositories in config
Action: init
Description: Initialises a custom repository by generating the appropriate metadata files
Action: list
Description: Lists the repositories as reflected in the config
Action: mirror
Description: Mirrors repository from upstream provider into the head tag
checksums
By default we just use the manifests information about size of packages to determine if the local file is valid. If you want to have checksums used enable this boolean flag. With this enabled updating a mirror can take quite a long time
Action: tag
Description: Tags a repository at a particular state
src-tag
The source tag to use for this operation, by default this is 'head' The source tag must pre exist.
dest-tag
The destination tag to use for this operation.
symlink
This will make the link operation use a symlink instead of hardlinking For example you may tag every time you update from upstream but you move a production tag around...provides easy roll back for your clients package configuration
Force will overwrite a pre existing dest-tag location
To install App::Nrepo, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Nrepo
CPAN shell
perl -MCPAN -e shell install App::Nrepo
For more information on module installation, please visit the detailed CPAN module installation guide.