# # spec file for package perl-File-HomeDir (Version 0.97) # # Copyright (c) 2010 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-File-HomeDir Version: 0.97 Release: 1 License: GPL+ or Artistic %define cpan_name File-HomeDir Summary: Find your home and other directories on any platform Url: http://search.cpan.org/dist/File-HomeDir/ Group: Development/Libraries/Perl #Source: http://www.cpan.org/authors/id/A/AD/ADAMK/File-HomeDir-%{version}.tar.gz Source: %{cpan_name}-%{version}.tar.gz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Carp) BuildRequires: perl(Cwd) >= 3.12 BuildRequires: perl(File::Path) >= 2.01 BuildRequires: perl(File::Spec) >= 3.12 BuildRequires: perl(File::Temp) >= 0.19 BuildRequires: perl(File::Which) >= 0.05 Requires: perl(Carp) Requires: perl(Cwd) >= 3.12 Requires: perl(File::Path) >= 2.01 Requires: perl(File::Spec) >= 3.12 Requires: perl(File::Temp) >= 0.19 Requires: perl(File::Which) >= 0.05 %{perl_requires} %description *File::HomeDir* is a module for locating the directories that are "owned" by a user (typicaly your user) and to solve the various issues that arise trying to find them consistently across a wide variety of platforms. The end result is a single API that can find your resources on any platform, making it relatively trivial to create Perl software that works elegantly and correctly no matter where you run it. This module provides two main interfaces. The first is a modern the File::Spec manpage-style interface with a consistent OO API and different implementation modules to support various platforms. You are *strongly* recommended to use this interface. The second interface is for legacy support of the original 0.07 interface that exported a 'home()' function by default and tied the '%~' variable. It is generally not recommended that you use this interface, but due to back-compatibility reasons they will remain supported until at least 2010. The '%~' interface has been deprecated. Documentation was removed in 2009, Unit test were removed in 2011, usage will issue warnings from 2013, and the interface will be removed entirely in 2015 (in line with the general Perl toolchain convention of a 10 year support period for legacy APIs that are potentially or actually in common use). Platform Neutrality In the Unix world, many different types of data can be mixed together in your home directory (although on some Unix platforms this is no longer the case, particularly for "desktop"-oriented platforms). On some non-Unix platforms, separate directories are allocated for different types of data and have been for a long time. When writing applications on top of *File::HomeDir*, you should thus always try to use the most specific method you can. User documents should be saved in 'my_documents', data that supports an application but isn't normally editing by the user directory should go into 'my_data'. On platforms that do not make any distinction, all these different methods will harmlessly degrade to the main home directory, but on platforms that care *File::HomeDir* will always try to Do The Right Thing(tm). %prep %setup -q -n %{cpan_name}-%{version} %build %{__perl} Makefile.PL INSTALLDIRS=vendor %{__make} %{?_smp_mflags} %check %{__make} test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %clean %{__rm} -rf %{buildroot} %files -f %{name}.files %defattr(644,root,root,755) %doc Changes LICENSE README %changelog