diff --git a/.gitignore b/.gitignore index 52ef19e..32c2535 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,9 @@ -/alexandria-*.tar.gz +alexandria-0.6.6.tar.gz +/alexandria-0.6.6-svn1154_trunk.tar.gz +/alexandria-0.6.7.tar.gz +/alexandria-0.6.8.tar.gz +/alexandria-0.6.9.tar.gz +/alexandria-0.7.4.tar.gz +/alexandria-0.7.5.tar.gz +/alexandria-0.7.6.tar.gz +/alexandria-0.7.8.tar.gz diff --git a/alexandria-0.7.9-ascii-fix.patch b/alexandria-0.7.4-ascii-fix.patch similarity index 88% rename from alexandria-0.7.9-ascii-fix.patch rename to alexandria-0.7.4-ascii-fix.patch index 4c9082a..abda240 100644 --- a/alexandria-0.7.9-ascii-fix.patch +++ b/alexandria-0.7.4-ascii-fix.patch @@ -4,8 +4,8 @@ rule ".omf" => [".omf.in"] do |t| path = File.join(@gnome_helpfiles_dir, @projectname, locale_for(t.name), "#{@projectname}.xml") -- data = File.read(t.source) -+ data = File.read(t.source, :encoding => "BINARY") +- data = IO.read(t.source) ++ data = IO.read(t.source, :encoding => "BINARY") data.sub!(/PATH_TO_DOC_FILE/, path) puts "Generating #{t.name}..." - File.open(t.name, "w") { |io| io.puts data } diff --git a/alexandria-0.7.9-utf8-convert.patch b/alexandria-0.7.4-utf8-convert.patch similarity index 88% rename from alexandria-0.7.9-utf8-convert.patch rename to alexandria-0.7.4-utf8-convert.patch index b6b4249..2def0c9 100644 --- a/alexandria-0.7.9-utf8-convert.patch +++ b/alexandria-0.7.4-utf8-convert.patch @@ -8,8 +8,8 @@ + # prevent crash... super(parent, format(_("The book '%s' already exists in '%s'. Would you like " \ -- "to replace it?"), book.title, library.name), -+ "to replace it?"), book.title, library.name).dup.force_encoding("UTF-8"), +- "to replace it?"), book.title, library.name), ++ "to replace it?"), book.title, library.name).dup.force_encoding("UTF-8"), Gtk::Stock::DIALOG_QUESTION, [[_("_Skip"), Gtk::ResponseType::CANCEL], [_("_Replace"), Gtk::ResponseType::OK]], @@ -22,7 +22,7 @@ - iter[Columns::AUTHORS] = book.authors.join(", ") + # Don't know why, however force_encoding seems needed here to + # prevent crash... -+ iter[Columns::AUTHORS] = book.authors.dup.map!{|str| str.dup.force_encoding("UTF-8")}.join(", ") ++ iter[Columns::AUTHORS] = book.authors.dup.map!{|str| str.force_encoding("UTF-8")}.join(", ") iter[Columns::ISBN] = book.isbn.to_s iter[Columns::PUBLISHER] = book.publisher iter[Columns::PUBLISH_DATE] = book.publishing_year.to_s diff --git a/alexandria-0.7.9-z3950-zoom-count.patch b/alexandria-0.7.4-z3950-zoom-count.patch similarity index 84% rename from alexandria-0.7.9-z3950-zoom-count.patch rename to alexandria-0.7.4-z3950-zoom-count.patch index 8bba797..ec82c15 100644 --- a/alexandria-0.7.9-z3950-zoom-count.patch +++ b/alexandria-0.7.4-z3950-zoom-count.patch @@ -1,5 +1,5 @@ ---- alexandria-book-collection-manager-0.7.4/lib/alexandria/book_providers/z3950_provider.rb.zoom_count 2019-10-25 01:20:07.000000000 +0900 -+++ alexandria-book-collection-manager-0.7.4/lib/alexandria/book_providers/z3950_provider.rb 2020-01-04 13:59:39.224201295 +0900 +--- alexandria-book-collection-manager-0.7.4/lib/alexandria/book_providers/z3950.rb.zoom_count 2019-10-25 01:20:07.000000000 +0900 ++++ alexandria-book-collection-manager-0.7.4/lib/alexandria/book_providers/z3950.rb 2020-01-04 13:59:39.224201295 +0900 @@ -149,7 +149,11 @@ module Alexandria conn.preferred_record_syntax = prefs["record_syntax"] diff --git a/alexandria-0.7.6-negative-value.patch b/alexandria-0.7.6-negative-value.patch new file mode 100644 index 0000000..378bf54 --- /dev/null +++ b/alexandria-0.7.6-negative-value.patch @@ -0,0 +1,11 @@ +--- alexandria-book-collection-manager-0.7.6/lib/alexandria/preferences.rb.negative 2020-11-03 00:35:57.573343839 +0900 ++++ alexandria-book-collection-manager-0.7.6/lib/alexandria/preferences.rb 2020-11-03 00:37:21.996312604 +0900 +@@ -242,7 +242,7 @@ module Alexandria + true + when "false" # bool + false +- when /^[0-9]+$/ # int ++ when /^-?[0-9]+$/ # int + value.to_i + when /^\[(.*)\]$/ # list (assume of type String) + Regexp.last_match[1].split(",") diff --git a/alexandria-0.7.9-yaml-unescape.patch b/alexandria-0.7.6-yaml-unescape.patch similarity index 82% rename from alexandria-0.7.9-yaml-unescape.patch rename to alexandria-0.7.6-yaml-unescape.patch index 0b2c42a..d2a0a36 100644 --- a/alexandria-0.7.9-yaml-unescape.patch +++ b/alexandria-0.7.6-yaml-unescape.patch @@ -33,22 +33,21 @@ old_isbn = book.isbn old_pub_year = book.publishing_year begin -@@ -181,6 +196,9 @@ module Alexandria +@@ -181,6 +196,8 @@ module Alexandria private def regularize_book_from_yaml(name) -+ require 'syck/constants' + require 'syck/encoding' + - text = File.read(name) + text = IO.read(name) # Code to remove the mystery string in books imported from Amazon -@@ -203,7 +221,7 @@ module Alexandria +@@ -203,7 +220,7 @@ module Alexandria end -- book = Book.from_yaml(text) -+ book = Book.from_yaml(Syck::unescape(text)) + # TODO: Ensure book loading passes through Book#initialize +- book = YAML.safe_load(text, permitted_classes: [Book, Time]) ++ book = YAML.safe_load(Syck::unescape(text), permitted_classes: [Book, Time]) unless book.isbn.instance_of? String # HACK - md = /isbn: (.+)/.match(text) diff --git a/alexandria.spec b/alexandria.spec index 38aa9f4..861093b 100644 --- a/alexandria.spec +++ b/alexandria.spec @@ -3,12 +3,12 @@ Requires: %{*} \ BuildRequires: %{*} \ %{nil} -%define majorver 0.7.9 +%define majorver 0.7.8 %undefine minorver %undefine ifpre -%define baserelease 12 -%define rel %{?ifpre:0.}%{baserelease}%{?minorver:.%minorver} +%define fedorarel 6 +%define rel %{?ifpre:0.}%{fedorarel}%{?minorver:.%minorver} @@ -17,10 +17,7 @@ Version: %{majorver} Release: %{rel}%{?dist} Summary: Book collection manager -# Overall GPL-2.0-or-later -# share/gnome/help/alexandria/C/alexandria.xml GFDL-1.2-or-later -# SPDX confirmed -License: GPL-2.0-or-later AND GPL-2.0-or-later +License: GPLv2+ URL: https://github.com/mvz/alexandria-book-collection-manager/ Source0: %{url}/archive/v%{version}/%{name}-%{version}%{?minorver:-%{minorver}}.tar.gz # Patches discussing with the upstream @@ -39,7 +36,7 @@ Patch3: alexandria-0.7.4-dont_use_thread_when_adding_file_by_isdn.patch # Upstream patches # Patches not submitted to the upstream # Force encoding type to make rake happy -Patch14: alexandria-0.7.9-ascii-fix.patch +Patch14: alexandria-0.7.4-ascii-fix.patch # Fix kcode issues with 1.9 # Well, with the original fix, some strange failure on startup # happens on ja_JP.utf8... @@ -48,7 +45,7 @@ Patch14: alexandria-0.7.9-ascii-fix.patch # a. loading yaml file generated by ruby 18x will show garbage characters # b. moving book entry to another library which also contains the # same book will cause crash.. -Patch18: alexandria-0.7.9-utf8-convert.patch +Patch18: alexandria-0.7.4-utf8-convert.patch # More UTF-8 fix on ruby 1.9, when exporting library to HTML # (bug 819188) Patch19: alexandria-0.7.4-export-to-HTML-with-ruby19.patch @@ -61,7 +58,7 @@ Patch21: alexandria-0.7.4-iconview-multibyte.patch # (this file) and other. Also handle broken yaml file correctly and let # user redownload it # (bug 861740) -Patch22: alexandria-0.7.9-yaml-unescape.patch +Patch22: alexandria-0.7.6-yaml-unescape.patch # Add a feature to remove broken yaml files at startup when requested # (bug 869556) Patch23: alexandria-0.7.4-delete-broken-yaml.patch @@ -69,12 +66,11 @@ Patch23: alexandria-0.7.4-delete-broken-yaml.patch Patch25: alexandria-0.7.6-newbook-nothread.patch # Make z3950 provider work # ZOOM::Connection.count must be string -Patch26: alexandria-0.7.9-z3950-zoom-count.patch +Patch26: alexandria-0.7.4-z3950-zoom-count.patch # Read negative value as integer in case position has such value # (bug 1014295) # https://github.com/mvz/alexandria-book-collection-manager/issues/135 -# Applied in 0.7.9 -#Patch27: alexandria-0.7.6-negative-value.patch +Patch27: alexandria-0.7.6-negative-value.patch # Specify goocanvas version (bug 1024931) # This is obsolete with 0.7.4. 0.7.4 uses goocanvas2 with introspection # Make glade2 translatable text actually translated (i10ned) @@ -106,7 +102,9 @@ BuildRequires: intltool BuildRequires: rubygem(rspec) # Needed since Ruby 3.0. # https://github.com/mvz/alexandria-book-collection-manager/issues/124 +%if 0%{?fedora} >= 34 %BothRequires rubygem(rexml) +%endif # rspec test BuildRequires: %{_bindir}/xvfb-run BuildRequires: %{_bindir}/ping @@ -117,17 +115,18 @@ BuildRequires: gstreamer1-plugins-base # autoaudiosink BuildRequires: gstreamer1-plugins-good -# 0.7.9 uses nokogiri instead of hpricot +# Amazon AWS v3 -> v4 switch +# AWS v4 is supported by alexandria itself +# But hpricot is still needed #Requires: ruby(amazon) %BothRequires rubygem(gettext) +%BothRequires rubygem(hpricot) %BothRequires rubygem(htmlentities) %BothRequires rubygem(image_size) -%BothRequires rubygem(nokogiri) # Dependency removed on 0.6.4b1 #Requires: ruby(mechanize) # Kill ruby(revolution) dependency #Requires: ruby(revolution) -%BothRequires rubygem(psych) # ruby(zoom) -> rubygem(zoom) switch #Requires: ruby(zoom) @@ -164,29 +163,25 @@ Alexandria is a GNOME application to help you manage your book collection. %setup -q -n %{name}-book-collection-manager-%{majorver}%{?minorver:-%{?minorver}} # Check if patch2 issue is fixed in rev 1154 -#%%patch -P2 -p0 -b .up25348 -%patch -P3 -p1 -b .up28263.isdn -#%%patch -P4 -p0 -b .up29479.search -%patch -P14 -p1 -b .ascii -Z -#%%patch -P15 -p1 -b .kcodefix -%patch -P18 -p1 -b .ruby19_utf8 -Z -%patch -P19 -p1 -b .export_html -Z -%patch -P20 -p1 -b .export_csv -Z -%patch -P21 -p1 -b .icon_kanji -Z -%patch -P22 -p1 -b .broken_yaml -Z -%patch -P23 -p1 -b .delete_yaml -Z -%patch -P25 -p1 -b .nothread -Z -%patch -P26 -p1 -b .z3950_count -Z -#%%patch -P27 -p1 -b .negative -Z -%patch -P29 -p1 -b .gettext -Z -%patch -P30 -p1 -b .utf8_2 -Z -%patch -P31 -p1 -b .undefined_method -Z -%patch -P32 -p1 -b .reset_search -Z -%patch -P33 -p1 -b .image_size -Z - -# Part of https://github.com/mvz/alexandria-book-collection-manager/commit/d9116e99242c209129bf09c3c1ad9a4ff6fdcf44 -# Needed for ruby3.2 - removes File.exists? -sed -i util/rake/gettextgenerate.rb -e 's|unless FileTest.exists.*$||' +#%%patch2 -p0 -b .up25348 +%patch3 -p1 -b .up28263.isdn +#%%patch4 -p0 -b .up29479.search +%patch14 -p1 -b .ascii +#%%patch15 -p1 -b .kcodefix +%patch18 -p1 -b .ruby19_utf8 +%patch19 -p1 -b .export_html +%patch20 -p1 -b .export_csv +%patch21 -p1 -b .icon_kanji +%patch22 -p1 -b .broken_yaml +%patch23 -p1 -b .delete_yaml +%patch25 -p1 -b .nothread +%patch26 -p1 -b .z3950_count +%patch27 -p1 -b .negative +%patch29 -p1 -b .gettext +%patch30 -p1 -b .utf8_2 +%patch31 -p1 -b .undefined_method +%patch32 -p1 -b .reset_search +%patch33 -p1 -b .image_size # Embed Fedora EVR %{__sed} -i.evr \ @@ -297,20 +292,17 @@ touch FAKE/bundler/setup.rb touch FAKE/simplecov.rb export RUBYLIB=$(pwd)/FAKE -# Disable z3950 provider test -disable_test spec/alexandria/book_providers/bl_provider_spec.rb "works" - ping -w3 www.google.co.jp && \ { - # Need taking a look at this - disable_test spec/alexandria/book_providers/loc_provider_spec.rb "works for a book"; - true; + # This does not work, will be fixed in 0.7.9 + # book_providers/web.rb: switching from Hpricot to Nokogiri seems needed + disable_test spec/alexandria/book_providers/thalia_provider_spec.rb "works when searching by ISBN"; } \ || \ { disable_test spec/alexandria/book_providers/thalia_provider_spec.rb "works when searching by ISBN"; - disable_test spec/alexandria/book_providers/loc_provider_spec.rb "works for a book"; - disable_test spec/alexandria/book_providers/sbn_provider_spec.rb "works"; + disable_test spec/alexandria/book_providers_spec.rb "works for a book with ASCII title"; + disable_test spec/alexandria/book_providers_spec.rb "works for a book with a title with non-ASCII letter"; sed -i spec/alexandria/book_providers_spec.rb -e "\@Alexandria::BookProviders::SBNProvider@{n;s|it|xit|}"; } @@ -333,7 +325,7 @@ done %gconf_schema_remove %{name} %files -f %{name}.lang -%license COPYING +%doc COPYING %doc ChangeLog* %doc INSTALL.md %doc README* @@ -359,54 +351,6 @@ done %{_datadir}/icons/hicolor/*/apps/%{name}.* %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 0.7.9-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Wed Jul 23 2025 Fedora Release Engineering - 0.7.9-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 0.7.9-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Nov 16 2024 Mamoru TASAKA - 0.7.9-9 -- Add missing syck file import (bug 2326632) - -* Wed Jul 17 2024 Fedora Release Engineering - 0.7.9-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 0.7.9-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 0.7.9-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Jan 2 2024 Mamoru TASAKA - 0.7.9-5 -- SPDX migration - -* Fri Dec 22 2023 Mamoru TASAKA - 0.7.9-4 -- Disable z3950x provider test - -* Wed Jul 19 2023 Fedora Release Engineering - 0.7.9-3.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 0.7.9-2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Oct 17 2022 Mamoru TASAKA - 0.7.9-2 -- Backport some changes on upstream git for ruby3.2 File.exists? removal - -* Wed Jul 20 2022 Fedora Release Engineering - 0.7.9-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sun Feb 27 2022 Mamoru TASAKA - 0.7.9-1 -- 0.7.9 - -* Wed Jan 19 2022 Fedora Release Engineering - 0.7.8-6.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Jan 17 2022 Kevin Fenzi - 0.7.8-6.1 -- Rebuild for hiredis 1.0.2 - * Fri Aug 27 2021 Mamoru TASAKA - 0.7.8-6 - Switch to image_size gem, specify explicitly - Disable 1 failing test diff --git a/sources b/sources index b0c7759..4b10561 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alexandria-0.7.9.tar.gz) = c1619b68778c1b94b6dff32c7be698afe29488c96c1719fcf65b6a03b3078c58053a5e76e9771a00a06dc654f95329af381c6659521f137df8eccca351811a18 +SHA512 (alexandria-0.7.8.tar.gz) = 0ccfc2af070267e15681973721e3d59ae5b23a069bcb0de04cabbd20bf46d7548c62b5b5b9a4c99554f942b78b3a7a97f4821666c58b37be13ee501e68d0012d