Hello community, here is the log from the commit of package perl-Spreadsheet-ReadSXC for openSUSE:Factory checked in at 2019-10-09 15:19:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Spreadsheet-ReadSXC (Old) and /work/SRC/openSUSE:Factory/.perl-Spreadsheet-ReadSXC.new.2352 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Spreadsheet-ReadSXC" Wed Oct 9 15:19:08 2019 rev:9 rq:735814 version:0.23 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Spreadsheet-ReadSXC/perl-Spreadsheet-ReadSXC.changes 2011-09-23 12:38:46.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Spreadsheet-ReadSXC.new.2352/perl-Spreadsheet-ReadSXC.changes 2019-10-09 15:19:09.684544099 +0200 @@ -1,0 +2,6 @@ +Fri Oct 4 09:36:11 UTC 2019 - <timueller+p...@suse.de> + +- updated to 0.23 + see /usr/share/doc/packages/perl-Spreadsheet-ReadSXC/Changes + +------------------------------------------------------------------- Old: ---- Spreadsheet-ReadSXC-0.20.tar.gz New: ---- Spreadsheet-ReadSXC-0.23.tar.gz cpanspec.yml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Spreadsheet-ReadSXC.spec ++++++ --- /var/tmp/diff_new_pack.q4ouoE/_old 2019-10-09 15:19:10.184542810 +0200 +++ /var/tmp/diff_new_pack.q4ouoE/_new 2019-10-09 15:19:10.184542810 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Spreadsheet-ReadSXC # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2019 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 @@ -12,33 +12,29 @@ # 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/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # - Name: perl-Spreadsheet-ReadSXC -Version: 0.20 -Release: 1 -License: GPL-1.0+ or Artistic-1.0 +Version: 0.23 +Release: 0 %define cpan_name Spreadsheet-ReadSXC Summary: Extract OpenOffice 1.x spreadsheet data -Url: http://search.cpan.org/dist/Spreadsheet-ReadSXC/ +License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -#Source: http://www.cpan.org/authors/id/T/TE/TERHECHTE/Spreadsheet-ReadSXC-%{version}.tar.gz -Source: %{cpan_name}-%{version}.tar.gz +Url: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/C/CO/CORION/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros -BuildRequires: perl(ExtUtils::MakeMaker) -BuildRequires: perl(Test::More) -# -BuildRequires: perl(Archive::Zip) -BuildRequires: perl(Compress::Zlib) +BuildRequires: perl(Archive::Zip) >= 1.34 +BuildRequires: perl(PerlIO::gzip) BuildRequires: perl(XML::Parser) -Requires: perl(Archive::Zip) -Requires: perl(Compress::Zlib) +Requires: perl(Archive::Zip) >= 1.34 +Requires: perl(PerlIO::gzip) Requires: perl(XML::Parser) %{perl_requires} @@ -59,26 +55,83 @@ function read_xml_string(). Both functions also take a reference to a hash of options as an optional second argument. +Spreadsheet::ReadSXC requires XML::Parser to parse the XML contained in +.sxc files. Only the contents of text:p elements are returned, not the +actual values of table:value attributes. For example, a cell might have a +table:value-type attribute of "currency", a table:value attribute of +"-1500.99" and a table:currency attribute of "USD". The text:p element +would contain "-$1,500.99". This is the string which is returned by the +read_sxc() function, not the value of -1500.99. + +Spreadsheet::ReadSXC was written with data import into an SQL database in +mind. Therefore empty spreadsheet cells correspond to undef values in array +rows. The example code above shows how to replace undef values with empty +strings. + +If the .sxc file contains an empty spreadsheet its hash element will point +to an empty array (unless you use the 'NoTruncate' option in which case it +will point to an array of an array containing one undefined element). + +OpenOffice uses UTF-8 encoding. It depends on your environment how the data +returned by the XML Parser is best handled: + + use Unicode::String qw(latin1 utf8); + $unicode_string = utf8($$workbook_ref{"Sheet1"}[0][0])->as_string; + + # this will not work for characters outside ISO-8859-1: + + $latin1_string = utf8($$workbook_ref{"Sheet1"}[0][0])->latin1; + +Of course there are other modules than Unicode::String on CPAN that handle +conversion between encodings. It's your choice. + +Table rows in .sxc files may have a "table:number-rows-repeated" attribute, +which is often used for consecutive empty rows. When you format whole rows +and/or columns in OpenOffice, it sets the numbers of rows in a worksheet to +32,000 and the number of columns to 256, even if only a few lower-numbered +rows and cells actually contain data. Spreadsheet::ReadSXC truncates such +sheets so that there are no empty rows after the last row containing data +and no empty columns after the last column containing data (unless you use +the 'NoTruncate' option). + +Still it is perfectly legal for an .sxc file to apply the +"table:number-rows-repeated" attribute to rows that actually contain data +(although I have only been able to produce such files manually, not through +OpenOffice itself). To save on memory usage in these cases, +Spreadsheet::ReadSXC does not copy rows by value, but by reference +(remember that multi-dimensional arrays in Perl are really arrays of +references to arrays). Therefore, if you change a value in one row, it is +possible that you find the corresponding value in the next row changed, +too: + + $$workbook_ref{"Sheet1"}[0][0] = 'new string'; + print $$workbook_ref{"Sheet1"}[1][0]; + +As of version 0.20 the references returned by read_sxc() et al. remain +valid after subsequent calls to the same function. In earlier versions, +calling read_sxc() with a different file as the argument would change the +data referenced by the original return value, so you had to derefence it +before making another call. Thanks to H. Merijn Brand for fixing this. + %prep %setup -q -n %{cpan_name}-%{version} +find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644 %build -%{__perl} Makefile.PL INSTALLDIRS=vendor -%{__make} %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} %check -%{__make} test +make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist -%clean -%{__rm} -rf %{buildroot} - %files -f %{name}.files %defattr(-,root,root,755) -%doc Changes README t.sxc +%doc Changes README +%license LICENSE %changelog ++++++ Spreadsheet-ReadSXC-0.20.tar.gz -> Spreadsheet-ReadSXC-0.23.tar.gz ++++++ ++++ 2833 lines of diff (skipped) ++++++ cpanspec.yml ++++++ --- #description_paragraphs: 3 #description: |- # override description from CPAN #summary: override summary from CPAN #no_testing: broken upstream #sources: # - source1 # - source2 #patches: # foo.patch: -p1 # bar.patch: #preamble: |- # BuildRequires: gcc-c++ #post_prep: |- # hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL #post_build: |- # rm unused.files #post_install: |- # sed on %{name}.files #license: SUSE-NonFree #skip_noarch: 1 #custom_build: |- #./Build build flags=%{?_smp_mflags} --myflag #custom_test: |- #startserver && make test #ignore_requires: Bizarre::Module