Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Dpkg::Path

Name Dpkg::Path
Version 1.05
Located at /usr/share/perl5
File /usr/share/perl5/Dpkg/Path.pm
Is Core No
Search CPAN for this module Dpkg::Path
Documentation Dpkg::Path
Module Details Dpkg::Path


NAME

Dpkg::Path - some common path handling functions


DESCRIPTION

It provides some functions to handle various path.


FUNCTIONS

get_pkg_root_dir($file)
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.

relative_to_pkg_root($file)
Returns the filename relative to get_pkg_root_dir($file).

guess_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 provided.

check_files_are_the_same($file1, $file2, $resolve_symlink)
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.

canonpath($file)
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 filenames.

$newpath = resolve_symlink($symlink)
Return the filename of the file pointed by the symlink. The new name is canonicalized by canonpath().

check_directory_traversal($basedir, $dir)
This function verifies that the directory $dir does not contain any symlink that goes beyond $basedir (which should be either equal or a parent of $dir).

$cmdpath = find_command($command)
Return the path of the command if defined and available on an absolute or relative path or on the $PATH, undef otherwise.

$control_file = get_control_path($pkg, $filetype)
Return the path of the control file of type $filetype for the given package.

@control_files = get_control_path($pkg)@control_files = get_control_path($pkg)
Return the path of all available control files for the given package.

$file = find_build_file($basename)
Selects the right variant of the given file: the arch-specific variant (``$basename.$arch'') has priority over the OS-specific variant (``$basename.$os'') which has priority over the default variant (``$basename''). If none of the files exists, then it returns undef.

@files = find_build_file($basename)@files = find_build_file($basename)
Return the available variants of the given file. Returns an empty list if none of the files exists.


CHANGES

Version 1.05 (dpkg 1.20.4)

New function: check_directory_traversal().

Version 1.04 (dpkg 1.17.11)

Update semantics: find_command() now handles an empty or undef argument.

Version 1.03 (dpkg 1.16.1)

New function: find_build_file()

Version 1.02 (dpkg 1.16.0)

New function: get_control_path()

Version 1.01 (dpkg 1.15.8)

New function: find_command()

Version 1.00 (dpkg 1.15.6)

Mark the module as public.

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026