NAME
PkgForge::Utils - General utilities for the LCFG Package Forge
VERSION
This documentation refers to PkgForge::Utils version 1.4.8
SYNOPSIS
use PkgForge::Utils;
PkgForge::Utils::remove_tree($dir);
DESCRIPTION
This module provides various utility functions which are used throughout the LCFG Package Forge software suite.
SUBROUTINES/METHODS
- remove_tree($dir,[$options]);
-
This will remove a tree of files and directories in a similar way to the function with the same name in newer versions of the File::Path module. It takes a directory name and an optional reference to a hash of options. It returns the number of files and directories which have been deleted. The supported options are:
- verbose
-
A boolean, when this is true the files and directories removed will be printed to STDOUT, defaults to false.
- keep_root
-
A boolean, when this is true the top-level directory itself will not be removed, only the contents would be erased. This defaults to false.
- result
-
A reference to an array into which the list of removed files and directories will be added.
- error
-
A reference to an array into which the list of any failures to remove files and directories will be added.
- list_dirs( $dir, $list )
-
This function will find all the sub-directories of the specified directory. It puts them into an array (which is referenced in the second required argument) which is ordered such that the sub-directories are before the directory itself. This is used by
remove_tree
. - kinit( $keytab, $principal, $ccache )
-
This does the equivalent of kinit(1) using the specified keytab and principal. Optionally you can specify the credentials cache to use, by default it uses a memory cache. The KRB5CCNAME environment variable will be set so that Kerberos-aware modules (such as DBI) will automatically use the credentials cache.
- job_resultsdir( $results_base, $job_uuid )
-
This computes and returns the job-specific results directory given the base directory and the UUID for the job.
DEPENDENCIES
This module requires File::Find::Rule. To use the kinit
method you will also need the Authen::Krb5 to be installed.
SEE ALSO
PLATFORMS
This is the list of platforms on which we have tested this software. We expect this software to work on any Unix-like platform which is supported by Perl.
ScientificLinux5, Fedora13
BUGS AND LIMITATIONS
Please report any bugs or problems (or praise!) to bugs@lcfg.org, feedback and patches are also always very welcome.
AUTHOR
Stephen Quinney <squinney@inf.ed.ac.uk>
LICENSE AND COPYRIGHT
Copyright (C) 2010-2011 University of Edinburgh. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the terms of the GPL, version 2 or later.