2009-12-26 15:15:47 +00:00
|
|
|
#
|
|
|
|
# spec file for package perl-Tree-Simple
|
|
|
|
#
|
|
|
|
|
|
|
|
# norootforbuild
|
|
|
|
|
|
|
|
Name: perl-Tree-Simple
|
|
|
|
%define real_name %( echo %{name} | %{__sed} -e 's,perl-,,' )
|
|
|
|
Summary: A simple tree object t
|
|
|
|
Url: http://search.cpan.org/perldoc?Tree::Simple
|
|
|
|
Group: Development/Libraries/Perl
|
|
|
|
License: Artistic License
|
|
|
|
Version: 1.18
|
|
|
|
Release: 1
|
|
|
|
Vendor: openSUSE-Education
|
|
|
|
Source: %{real_name}-%{version}.tar.bz2
|
|
|
|
BuildRequires: perl-macros
|
|
|
|
BuildRequires: perl-Test-Memory-Cycle
|
|
|
|
BuildRequires: perl-Test-Exception
|
|
|
|
BuildRequires: perl-Test-Pod
|
|
|
|
BuildRequires: perl-Test-Pod-Coverage
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
2010-12-03 14:54:50 +00:00
|
|
|
%{perl_requires}
|
2009-12-26 15:15:47 +00:00
|
|
|
|
|
|
|
%description
|
|
|
|
This module in an fully object-oriented implementation of a simple n-ary tree.
|
|
|
|
It is built upon the concept of parent-child relationships, so therefore every
|
|
|
|
Tree::Simple object has both a parent and a set of children (who themselves may
|
|
|
|
have children, and so on). Every Tree::Simple object also has siblings, as they
|
|
|
|
are just the children of their immediate parent.
|
|
|
|
|
|
|
|
It is can be used to model hierarchal information such as a file-system, the
|
|
|
|
organizational structure of a company, an object inheritance hierarchy,
|
|
|
|
versioned files from a version control system or even an abstract syntax tree
|
|
|
|
for use in a parser. It makes no assumptions as to your intended usage, but
|
|
|
|
instead simply provides the structure and means of accessing and traversing
|
|
|
|
said structure.
|
|
|
|
|
|
|
|
This module uses exceptions and a minimal Design By Contract style. All method
|
|
|
|
arguments are required unless specified in the documentation, if a required
|
|
|
|
argument is not defined an exception will usually be thrown. Many arguments are
|
|
|
|
also required to be of a specific type, for instance the $parent argument to
|
|
|
|
the constructor must be a Tree::Simple object or an object derived from
|
|
|
|
Tree::Simple, otherwise an exception is thrown. This may seems harsh to some,
|
|
|
|
but this allows me to have the confidence that my code works as I intend, and
|
|
|
|
for you to enjoy the same level of confidence when using this module. Note
|
|
|
|
however that this module does not use any Exception or Error module, the
|
|
|
|
exceptions are just strings thrown with die.
|
|
|
|
|
|
|
|
I consider this module to be production stable, it is based on a module which
|
|
|
|
has been in use on a few production systems for approx. 2 years now with no
|
|
|
|
issue. The only difference is that the code has been cleaned up a bit, comments
|
|
|
|
added and the thorough tests written for its public release. I am confident it
|
|
|
|
behaves as I would expect it to, and is (as far as I know) bug-free. I have not
|
|
|
|
stress-tested it under extreme duress, but I don't so much intend for it to be
|
|
|
|
used in that type of situation. If this module cannot keep up with your Tree
|
|
|
|
needs, i suggest switching to one of the modules listed in the "OTHER TREE
|
|
|
|
MODULES" section below.
|
|
|
|
|
|
|
|
Authors:
|
|
|
|
--------
|
|
|
|
Stevan Little, <stevan@iinteractive.com>
|
|
|
|
Rob Kinyon, <rob@iinteractive.com>
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -n %{real_name}-%{version}
|
|
|
|
|
|
|
|
%build
|
|
|
|
perl Makefile.PL
|
|
|
|
make %{?jobs:-j%jobs}
|
|
|
|
|
|
|
|
%check
|
|
|
|
make test
|
|
|
|
|
|
|
|
%install
|
|
|
|
%perl_make_install
|
|
|
|
chmod -x %buildroot/%perl_vendorlib/Tree/*.pm
|
|
|
|
%perl_process_packlist
|
|
|
|
%perl_gen_filelist
|
|
|
|
|
|
|
|
%clean
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
|
|
|
|
%files -f %{name}.files
|
|
|
|
%defattr(-, root, root)
|
|
|
|
%doc Changes README MANIFEST
|
|
|
|
|
|
|
|
%changelog
|