forked from pool/perl-File-Path-Tiny
111 lines
3.4 KiB
RPMSpec
111 lines
3.4 KiB
RPMSpec
#
|
||
# spec file for package perl-File-Path-Tiny
|
||
#
|
||
# Copyright (c) 2025 SUSE LLC
|
||
#
|
||
# 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 https://bugs.opensuse.org/
|
||
#
|
||
|
||
|
||
%define cpan_name File-Path-Tiny
|
||
Name: perl-File-Path-Tiny
|
||
Version: 1.0.0
|
||
Release: 0
|
||
# 1.0 -> normalize -> 1.0.0
|
||
%define cpan_version 1.0
|
||
License: Artistic-1.0 OR GPL-1.0-or-later
|
||
Summary: Recursive versions of mkdir() and rmdir() without as much overhead as Fi[cut]
|
||
URL: https://metacpan.org/release/%{cpan_name}
|
||
Source0: https://cpan.metacpan.org/authors/id/D/DM/DMUEY/%{cpan_name}-%{cpan_version}.tar.gz
|
||
Source1: cpanspec.yml
|
||
Source100: README.md
|
||
BuildArch: noarch
|
||
BuildRequires: perl
|
||
BuildRequires: perl-macros
|
||
BuildRequires: perl(Test::Exception)
|
||
Requires: perl(Test::Exception)
|
||
Provides: perl(File::Path::Tiny) = %{version}
|
||
%undefine __perllib_provides
|
||
%{perl_requires}
|
||
|
||
%description
|
||
The goal here is simply to provide recursive versions of mkdir() and
|
||
rmdir() with as little code and overhead as possible.
|
||
|
||
This module is in no way meant to derogate File::Path and is in no way an
|
||
endorsement to go out and replace all use of File::Path with
|
||
File::Path::Tiny.
|
||
|
||
File::Path is very good at what it does but there's simply a lot happening
|
||
that we can do without much of the time.
|
||
|
||
Here are some things File::Path has/does that this module attempts to do
|
||
without:
|
||
|
||
* * multiple interfaces
|
||
|
||
Backwards compatibility brings in a lot of code and logic that we don't
|
||
need from here on out.
|
||
|
||
* * chdir()s
|
||
|
||
It forces a ton of chdir()s which could leave you somewhere you're not
|
||
planning on being and requires much more overhead to do.
|
||
|
||
This module provides a way to disable that if you know it is safe to do so
|
||
in your circumstance.
|
||
|
||
* * can croak not allowing you to detect and handle failure
|
||
|
||
Just let me handle errors how I want. Don't make my entire app die or have
|
||
to wrap it in an eval
|
||
|
||
The exception here is the security checks can croak, which is what you
|
||
want. See DIAGNOSTICS for more info.
|
||
|
||
* * A well intentioned output system
|
||
|
||
Just let me do the output how I want. (Nothing, As HTML, print to a
|
||
filehandle, etc...)
|
||
|
||
* * A well intentioned and experimental (IE subject to change) error
|
||
handling system.
|
||
|
||
Just keep it simple and detect failure via a boolean check and do what I
|
||
want with the error. See "How can I make/remove multiple paths?"
|
||
|
||
* * According to its POD, removing a tree is apparently not safe unless you
|
||
tell it to be with the ‘safe’ or 'keep_root' attributes.
|
||
|
||
Seems like that should just happen, I don't want to worry about
|
||
accidentally removing / when I pass it /tmp
|
||
|
||
%prep
|
||
%autosetup -n %{cpan_name}-%{cpan_version} -p1
|
||
|
||
%build
|
||
perl Makefile.PL INSTALLDIRS=vendor
|
||
%make_build
|
||
|
||
%check
|
||
make test
|
||
|
||
%install
|
||
%perl_make_install
|
||
%perl_process_packlist
|
||
%perl_gen_filelist
|
||
|
||
%files -f %{name}.files
|
||
%doc Changes README
|
||
|
||
%changelog
|