It provides some functions to handle various path.
This function will scan upwards the hierarchy of directory to find out
the directory which contains the ``DEBIAN'' sub-directory and it will return
its path. This directory is the root directory of a package being built.
If no DEBIAN subdirectory is found, it will return undef.
Returns the filename relative to get_pkg_root_dir($file).
This function tries to guess the root directory of the package build tree.
It will first use get_pkg_root_dir(), but it will fallback to a more
imprecise check: namely it will use the parent directory that is a
sub-directory of the debian directory.
It can still return undef if a file outside of the debian sub-directory is
This function verifies that both files are the same by checking that the device
numbers and the inode numbers returned by stat()/lstat() are the same. If
$resolve_symlink is true then stat() is used, otherwise lstat() is used.
This function returns a cleaned path. It simplifies double //, and remove
/./ and /../ intelligently. For /../ it simplifies the path only if the
previous element is not a symlink. Thus it should only be used on real
$newpath = resolve_symlink($symlink)
Return the filename of the file pointed by the symlink. The new name is
canonicalized by canonpath().
my $cmdpath = find_command($command)
Return the path of the command if available on an absolute or relative
path or on the $PATH, undef otherwise.
my $control_file = get_control_path($pkg, $filetype)
Return the path of the control file of type $filetype for the given
my @control_files = get_control_path($pkg)
Return the path of all available control files for the given package.