Files
perl-Config-Model/perl-Config-Model.spec

133 lines
4.3 KiB
RPMSpec
Raw Normal View History

#
# spec file for package perl-Config-Model
#
# Copyright (c) 2015 SUSE LINUX 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-Config-Model
Version: 2.070
Release: 0
%define cpan_name Config-Model
Summary: Create tools to validate, migrate and edit configuration files
License: LGPL-2.1+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Config-Model/
Source0: http://www.cpan.org/authors/id/D/DD/DDUMONT/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Carp::Assert::More)
BuildRequires: perl(Config::Model::Tester) >= 2.046
BuildRequires: perl(Exception::Class)
BuildRequires: perl(File::HomeDir)
BuildRequires: perl(Hash::Merge) >= 0.12
BuildRequires: perl(JSON)
BuildRequires: perl(List::MoreUtils)
BuildRequires: perl(Log::Log4perl) >= 1.11
BuildRequires: perl(Module::Build) >= 0.340000
BuildRequires: perl(Mouse)
BuildRequires: perl(Mouse::Role)
BuildRequires: perl(Mouse::Util)
BuildRequires: perl(Mouse::Util::TypeConstraints)
BuildRequires: perl(MouseX::NativeTraits)
BuildRequires: perl(MouseX::StrictConstructor)
BuildRequires: perl(Parse::RecDescent) >= v1.90.0
- (build) require perl(Path::Tiny) instead of perl(Path::Class) - update to 2.064: + General new features/changes: * The Perl class used to implement node, list and hash configuration element can be overridden using a new 'class' parameter. The Perl class passed to this parameter must inherit Config::Model::Node, or Config::Model::HashId or Config::Model::ListId. * Config::Model::Value: added warn_if parameter * Config::Model: initialise log4perl during construction * Value: added file and dir value type. A warning is issued when file or dir is not found. * removed all code related to asynchronous stores * added bash_completion snippet associated to a model. This will be useful for dpkg-patch model * C::M::Lister: skip backup files when listing available applications * replace File::Slurp with Path::Tiny in yaml backend test and gen-class-pod (RT #95692). (which changes the dependencies) * replaced Path::Class with Path::Tiny dependency + Other incompatible changes: * old config-edit command is now really gone * cme extensions are obsolete. Extension mechanism is now provided by App::Cmd + New features of the cme command: * cme command is no longer delivered with this distribution. cme is now delivered by App::Cme distribution. * cme: + added shell command as a shortcut to 'cme edit -ui shell'. E.g 'cme shell ssh' to edit ssh_config through a shell like UI + add :@ and :.sort sub command for ordered hash. E.g.: "cme modify dpkg-control ~~ 'binary:~/.*/ Depends:.sort' -save" OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Config-Model?expand=0&rev=3
2014-12-29 13:41:46 +00:00
BuildRequires: perl(Path::Tiny)
BuildRequires: perl(Pod::POM)
BuildRequires: perl(Term::ReadLine::Gnu)
BuildRequires: perl(Term::ReadLine::Perl)
BuildRequires: perl(Test::Differences)
BuildRequires: perl(Test::Exception)
BuildRequires: perl(Test::File::Contents)
BuildRequires: perl(Test::Memory::Cycle)
BuildRequires: perl(Test::Warn) >= 0.11
BuildRequires: perl(Text::Diff)
BuildRequires: perl(YAML)
Requires: perl(Carp::Assert::More)
Requires: perl(Exception::Class)
Requires: perl(File::HomeDir)
Requires: perl(Hash::Merge) >= 0.12
Requires: perl(JSON)
Requires: perl(List::MoreUtils)
Requires: perl(Log::Log4perl) >= 1.11
Requires: perl(Mouse)
Requires: perl(Mouse::Role)
Requires: perl(Mouse::Util)
Requires: perl(Mouse::Util::TypeConstraints)
Requires: perl(MouseX::NativeTraits)
Requires: perl(MouseX::StrictConstructor)
Requires: perl(Parse::RecDescent) >= v1.90.0
- (build) require perl(Path::Tiny) instead of perl(Path::Class) - update to 2.064: + General new features/changes: * The Perl class used to implement node, list and hash configuration element can be overridden using a new 'class' parameter. The Perl class passed to this parameter must inherit Config::Model::Node, or Config::Model::HashId or Config::Model::ListId. * Config::Model::Value: added warn_if parameter * Config::Model: initialise log4perl during construction * Value: added file and dir value type. A warning is issued when file or dir is not found. * removed all code related to asynchronous stores * added bash_completion snippet associated to a model. This will be useful for dpkg-patch model * C::M::Lister: skip backup files when listing available applications * replace File::Slurp with Path::Tiny in yaml backend test and gen-class-pod (RT #95692). (which changes the dependencies) * replaced Path::Class with Path::Tiny dependency + Other incompatible changes: * old config-edit command is now really gone * cme extensions are obsolete. Extension mechanism is now provided by App::Cmd + New features of the cme command: * cme command is no longer delivered with this distribution. cme is now delivered by App::Cme distribution. * cme: + added shell command as a shortcut to 'cme edit -ui shell'. E.g 'cme shell ssh' to edit ssh_config through a shell like UI + add :@ and :.sort sub command for ordered hash. E.g.: "cme modify dpkg-control ~~ 'binary:~/.*/ Depends:.sort' -save" OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Config-Model?expand=0&rev=3
2014-12-29 13:41:46 +00:00
Requires: perl(Path::Tiny)
Requires: perl(Pod::POM)
Requires: perl(Text::Diff)
Recommends: perl(Fuse)
Recommends: perl(YAML)
%{perl_requires}
%description
Config::Model enables a project developer to provide an interactive
configuration editor (graphical, curses based or plain terminal) to his
users. For this he must:
* *
Describe the structure and constraints of his project's configuration
(fear not, a GUI is available)
* *
Find a way to read and write configuration data using read/write backend
provided by Config::Model or other Perl modules.
With the elements above, Config::Model will generate interactive
configuration editors (with integrated help and data validation). These
editors can be graphical (with the Config::Model::TkUI manpage), curses
based (with the Config::Model::CursesUI manpage) or based on ReadLine.
Smaller models targeted for configuration upgrades can also be created:
* *
only upgrade and migration specifications are required
* *
unknown parameters can be accepted
A command line is provided to perform configuration upgrade with a single
command.
%prep
%setup -q -n %{cpan_name}-%{version}
%build
%{__perl} Build.PL installdirs=vendor
./Build build flags=%{?_smp_mflags}
%check
./Build test
%install
./Build install destdir=%{buildroot} create_packlist=0
%perl_gen_filelist
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes contrib examples LICENSE MODELS script TODO
%changelog