diff --git a/perl-Class-Data-Inheritable.changes b/perl-Class-Data-Inheritable.changes index 989b01e..0b67776 100644 --- a/perl-Class-Data-Inheritable.changes +++ b/perl-Class-Data-Inheritable.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Nov 24 15:24:56 UTC 2010 - chris@computersalat.de + +- recreated by cpanspec 1.78 + o fix deps +- noarch pkg + ------------------------------------------------------------------- Tue Oct 19 08:38:23 UTC 2010 - coolo@novell.com diff --git a/perl-Class-Data-Inheritable.spec b/perl-Class-Data-Inheritable.spec index f13721f..e3b6b82 100644 --- a/perl-Class-Data-Inheritable.spec +++ b/perl-Class-Data-Inheritable.spec @@ -17,54 +17,108 @@ # norootforbuild - Name: perl-Class-Data-Inheritable -Version: 0.08 -Release: 57 -Requires: perl = %{perl_version} -Provides: Class-Data-Inheritable -AutoReqProv: on -Group: Development/Libraries/Perl -License: Artistic -Url: http://cpan.org/modules/by-module/Class/ +%define cpan_name Class-Data-Inheritable Summary: Inheritable, overridable class data -Source: Class-Data-Inheritable-%{version}.tar.bz2 +Version: 0.08 +Release: 1 +License: GPL+ or Artistic +Group: Development/Libraries/Perl +Url: http://search.cpan.org/dist/Class-Data-Inheritable/ +#Source: http://www.cpan.org/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz +Source: %{cpan_name}-%{version}.tar.bz2 +BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl +%if 0%{?suse_version} < 1120 +BuildRequires: perl-macros +%endif +Requires: perl = %{perl_version} %description -Class::Data::Inheritable is for creating accessor/mutators to class -data. That is, if you want to store something about your class as a -whole (instead of about a single object). This data is then inherited -by your subclasses and can be overriden. +Class::Data::Inheritable is for creating accessor/mutators to class data. +That is, if you want to store something about your class as a whole +(instead of about a single object). This data is then inherited by your +subclasses and can be overriden. +For example: + Pere::Ubu->mk_classdata('Suitcase'); + +will generate the method Suitcase() in the class Pere::Ubu. + +This new method can be used to get and set a piece of class data. + + Pere::Ubu->Suitcase('Red'); + $suitcase = Pere::Ubu->Suitcase; + +The interesting part happens when a class inherits from Pere::Ubu: + + package Raygun; + use base qw(Pere::Ubu); + + # Raygun's suitcase is Red. + $suitcase = Raygun->Suitcase; + +Raygun inherits its Suitcase class data from Pere::Ubu. + +Inheritance of class data works analogous to method inheritance. As long as +Raygun does not "override" its inherited class data (by using Suitcase() to +set a new value) it will continue to use whatever is set in Pere::Ubu and +inherit further changes: + + # Both Raygun's and Pere::Ubu's suitcases are now Blue + Pere::Ubu->Suitcase('Blue'); + +However, should Raygun decide to set its own Suitcase() it has now +"overridden" Pere::Ubu and is on its own, just like if it had overriden a +method: + + # Raygun has an orange suitcase, Pere::Ubu's is still Blue. + Raygun->Suitcase('Orange'); + +Now that Raygun has overridden Pere::Ubu futher changes by Pere::Ubu no +longer effect Raygun. + + # Raygun still has an orange suitcase, but Pere::Ubu is using Samsonite. + Pere::Ubu->Suitcase('Samsonite'); Authors: -------- - Michael G Schwern + Original code by Damian Conway. + Maintained by Michael G Schwern until September 2005. + Now maintained by Tony Bowden. %prep -%setup -q -n Class-Data-Inheritable-%{version} +%setup -q -n %{cpan_name}-%{version} %build -perl Makefile.PL -make %{?_smp_mflags} -make test +%{__perl} Makefile.PL INSTALLDIRS=vendor +%{__make} %{?_smp_mflags} + +%check +%{__make} test %install -rm -rf $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT install_vendor +%perl_make_install +### since 11.4 perl_process_packlist +### removes .packlist, perllocal.pod files +%if 0%{?suse_version} > 1130 %perl_process_packlist +%else +# do not perl_process_packlist +# remove .packlist file +%{__rm} -rf $RPM_BUILD_ROOT%perl_vendorarch +# remove perllocal.pod file +%{__rm} -f $RPM_BUILD_ROOT%perl_archlib/perllocal.pod +%endif +%perl_gen_filelist %clean -rm -rf $RPM_BUILD_ROOT +%{__rm} -rf $RPM_BUILD_ROOT -%files -%defattr(-,root,root) -%doc %{_mandir}/man?/* -%{perl_vendorlib}/Class -%{perl_vendorarch}/auto/Class -/var/adm/perl-modules/%{name} +%files -f %{name}.files +%defattr(-,root,root,-) +%doc Changes README %changelog