NAME

FreeBSD::Ports::INDEXhash - Generates a hash out of the FreeBSD Ports index file.

VERSION

Version 1.2.2

SYNOPSIS

use FreeBSD::Ports::INDEXhash qw/INDEXhash/;

my %hash=INDEXhash();

while(my ($name, $port) = each %hash){
    print "Name: ".$name."\n".
            "Info: ".$port->{info}."\n".
            "Prefix: ".$port->{prefix}."\n".
            "Maintainer: ".$port->{maintainer}."\n".
            "WWW: ".$port->{www}."\n".
            "Categories: ".join(" ", @{$port->{categories}})."\n".
            "E-deps: ".join(" ", @{$port->{Edeps}})."\n".
            "B-deps: ".join(" ", @{$port->{Bdeps}})."\n".
            "P-deps: ".join(" ", @{$port->{Pdeps}})."\n".
            "R-deps: ".join(" ", @{$port->{Rdeps}})."\n".
            "F-deps: ".join(" ", @{$port->{Fdeps}})."\n".
            "\n";

    $keysInt++;
};

EXPORT

INDEXhash

FUNCTIONS

INDEXhash

This parses the FreeBSD ports index file and a hash of it. Upon error it returns undef.

If a path to it is not passed to this function, it chooses the file automatically. The PORTSDIR enviromental varaiable is respected if using automatically.

HASH FORMAT

Each entry, minus 'originsN2D' and 'originsD2N'.

ports hash

info

This is a short description of the port.

prefix

This is the install prefix the port will try to use.

maintainer

This is the email address for the port's maintainer.

www

This is the web site of a port inquestion.

Edeps

This is the extract depends of a port. This is a array.

Bdeps

This is the build depends for the port. This is a array.

Pdeps

This is the package depends for a port. This is a array.

Rdeps

This is the run depends of a port. This is a array.

Fdeps

This is the fetch depends of a port. This is a array.

categories

This is all the categories a specific port falls under. This is a array.

originsN2D

This contains a mapping of port names to the directory they are in.

originsD2N

This contains a mapping of directories to port names.

soriginsD2N

This is the same as 'originsD2N', but does not everything prior to the ports directory is removed. This is to make it easy for matching packages to ports.

originsN2D

This is the same as 'originsN2D', but does not everything prior to the ports directory is removed.

AUTHOR

Zane C. Bowers, <vvelox at vvelox.net>

BUGS

Please report any bugs or feature requests to bug-freebsd-ports-indexhash at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=FreeBSD-Ports-INDEXhash. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc FreeBSD::Ports::INDEXhash

You can also look for information at:

ACKNOWLEDGEMENTS

kevin brintnall <kbrint@rufus.net> for pointing out how useful the each function is.

Yen-Ming Lee <leeym@freebsd.org> for pointing out the issue with Fdeps always being defined due to a new line on the end of it.

COPYRIGHT & LICENSE

Copyright 2008 Zane C. Bowers, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.