+ Metadata fixes in Build.PL and correct bugtracker queue in Makefile.PL. Thanx to dsteinbrunner (via github). + Merge source from https://github.com/stevan/tree-simple. + Add bugtracker and license to Build.PL and Makefile.PL. + Maintenance now by Ron Savage. + Rectify datestamp format in this file. + Make Simple.pm and Visitor.pm have the same version #. + Reformat Build.PL and Makefile.PL. + Move t/pod* into xt/author/. + Minor doc patches. + Add t/17_Tree_Simple_width_test.t. This code was attached to RT#40407, to demonstrate a bug in keeping a running total of the width (leaf count) of a tree during node additions to leaves. + Add t/21_Tree_Simple_Visitor_test.t. This code was attached to RT#30032, to demonstrate a bug in including the root in a traversal after calling $visitor -> includeTruck(1). + RT#30032: Adopt patch from Moses Amaro. With thanx. + RT#38607: Reject. Suppressing deep recursion warnings should not normally be done. Sub-class! + RT#40407: Adopt patch from David Cryer. With thanx. + RT#84797: Reject. Changing the return value of setUID could break any amount of code. OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Tree-Simple?expand=0&rev=7
101 lines
3.8 KiB
RPMSpec
101 lines
3.8 KiB
RPMSpec
#
|
|
# spec file for package perl-Tree-Simple
|
|
#
|
|
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: perl-Tree-Simple
|
|
%define real_name Tree-Simple
|
|
Summary: A simple tree object t
|
|
License: Artistic-1.0
|
|
Group: Development/Libraries/Perl
|
|
Url: http://search.cpan.org/perldoc?Tree::Simple
|
|
Version: 1.22
|
|
Release: 0
|
|
Source: %{real_name}-%{version}.tar.gz
|
|
BuildRequires: perl-Test-Exception
|
|
BuildRequires: perl-Test-Memory-Cycle
|
|
BuildRequires: perl-Test-Pod
|
|
BuildRequires: perl-Test-Pod-Coverage
|
|
BuildRequires: perl-macros
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%{perl_requires}
|
|
|
|
%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
|