diff --git a/.gitignore b/.gitignore index 590632a..52ef19e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1 @@ -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-*.tar.gz diff --git a/alexandria-0.7.4-negative-value.patch b/alexandria-0.7.4-negative-value.patch deleted file mode 100644 index 88ce42c..0000000 --- a/alexandria-0.7.4-negative-value.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- alexandria-book-collection-manager-0.7.4/lib/alexandria/preferences.rb.negative 2019-10-25 01:20:07.000000000 +0900 -+++ alexandria-book-collection-manager-0.7.4/lib/alexandria/preferences.rb 2020-01-04 14:09:13.773911633 +0900 -@@ -239,7 +239,7 @@ module Alexandria - true - elsif value == "false" # bool - false -- elsif /^[0-9]+$/.match?(value) # int -+ elsif /^-?[0-9]+$/.match?(value) # int - value.to_i - elsif value =~ /^\[(.*)\]$/ # list (assume of type String) - Regexp.last_match[1].split(",") diff --git a/alexandria-0.7.4-newbook-nothread.patch b/alexandria-0.7.4-newbook-nothread.patch deleted file mode 100644 index b0eb648..0000000 --- a/alexandria-0.7.4-newbook-nothread.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- alexandria-book-collection-manager-0.7.4/lib/alexandria/ui/new_book_dialog.rb.nothread 2020-01-03 17:37:42.394366241 +0900 -+++ alexandria-book-collection-manager-0.7.4/lib/alexandria/ui/new_book_dialog.rb 2020-01-04 13:24:08.240415691 +0900 -@@ -279,15 +279,17 @@ module Alexandria - get_images_async - false # continue == false if you get to here. Stop timeout. - end -- else -+ elsif @find_thread - # Stop if the book find thread has stopped. - @find_thread.alive? -+ else -+ true - end - # continue == false if @find_error OR if results are returned - # timeout ends if continue is false! - - unless continue -- unless @find_thread.alive? # This happens after find_thread is done -+ unless (@find_thread && @find_thread.alive?) # This happens after find_thread is done - unless @destroyed - # GLib::Source.remove(progress_pulsing) - # @progressbar.hide diff --git a/alexandria-0.7.4-title-force-encoding.patch b/alexandria-0.7.4-title-force-encoding.patch index 1dd41a1..23be90e 100644 --- a/alexandria-0.7.4-title-force-encoding.patch +++ b/alexandria-0.7.4-title-force-encoding.patch @@ -6,11 +6,11 @@ diff -urp alexandria-book-collection-manager-0.7.4.old/lib/alexandria/ui/book_pr @button_box.set_child_secondary(help_button, true) - @entry_title.text = @book_properties_dialog.title = book.title -+ book_title = book.title.force_encoding('UTF-8') ++ book_title = book.title.dup.force_encoding('UTF-8') + @entry_title.text = @book_properties_dialog.title = book_title @entry_isbn.text = (book.isbn || "") - @entry_publisher.text = book.publisher -+ @entry_publisher.text = book.publisher.force_encoding('UTF-8') ++ @entry_publisher.text = book.publisher.dup.force_encoding('UTF-8') @entry_publish_date.text = book.publishing_year.to_s @entry_publish_date.signal_connect("focus-out-event") do text = @entry_publish_date.text @@ -19,7 +19,7 @@ diff -urp alexandria-book-collection-manager-0.7.4.old/lib/alexandria/ui/book_pr end end - @entry_edition.text = book.edition -+ @entry_edition.text = book.edition.force_encoding('UTF-8') ++ @entry_edition.text = book.edition ? book.edition.dup.force_encoding('UTF-8') : "" if book.tags @entry_tags.text = book.tags.join(",") # tags are comma-separated end diff --git a/alexandria-0.7.4-export-to-CSV-bintex-with-ruby19.patch b/alexandria-0.7.5-export-to-CSV-bintex-with-ruby19.patch similarity index 67% rename from alexandria-0.7.4-export-to-CSV-bintex-with-ruby19.patch rename to alexandria-0.7.5-export-to-CSV-bintex-with-ruby19.patch index 21318a4..95c0ac7 100644 --- a/alexandria-0.7.4-export-to-CSV-bintex-with-ruby19.patch +++ b/alexandria-0.7.5-export-to-CSV-bintex-with-ruby19.patch @@ -1,6 +1,6 @@ ---- alexandria-book-collection-manager-0.7.4/lib/alexandria/export_library.rb.csv 2020-01-03 16:24:11.989122168 +0900 -+++ alexandria-book-collection-manager-0.7.4/lib/alexandria/export_library.rb 2020-01-03 16:37:23.739363736 +0900 -@@ -110,12 +110,12 @@ +--- alexandria-book-collection-manager-0.7.5/lib/alexandria/export_library.rb.export_csv 2020-10-17 15:49:16.241200513 +0900 ++++ alexandria-book-collection-manager-0.7.5/lib/alexandria/export_library.rb 2020-10-17 16:01:18.184960155 +0900 +@@ -108,12 +108,12 @@ module Alexandria io.puts "#{book.title} " # put a link to the book's cover. only works on iPod 5G and above(?). if File.exist?(cover(book)) @@ -15,9 +15,9 @@ + io.puts book.authors.join(", ").force_encoding('UTF-8') + io.puts book.edition.force_encoding('UTF-8') io.puts((book.isbn || "")) - # we need to close the files so the iPod can be ejected/unmounted without us closing Alexandria - io.close -@@ -379,8 +379,8 @@ + # we need to close the files so the iPod can be ejected/unmounted + # without us closing Alexandria +@@ -380,8 +380,8 @@ module Alexandria end end bibtex << "\",\n" @@ -25,6 +25,6 @@ - bibtex << "publisher = \"#{latex_escape(book.publisher)}\",\n" + bibtex << "title = \"#{latex_escape(book.title.force_encoding('UTF-8'))}\",\n" + bibtex << "publisher = \"#{latex_escape(book.publisher.force_encoding('UTF-8'))}\",\n" - bibtex << "OPTnote = \"#{latex_escape(book.notes)}\",\n" if book.notes && !book.notes.empty? - # year is a required field in bibtex @BOOK - bibtex << "year = " + (book.publishing_year || '"n/a"').to_s + "\n" + if book.notes && !book.notes.empty? + bibtex << "OPTnote = \"#{latex_escape(book.notes)}\",\n" + end diff --git a/alexandria-0.7.6-newbook-nothread.patch b/alexandria-0.7.6-newbook-nothread.patch new file mode 100644 index 0000000..9811969 --- /dev/null +++ b/alexandria-0.7.6-newbook-nothread.patch @@ -0,0 +1,22 @@ +--- alexandria-book-collection-manager-0.7.6/lib/alexandria/ui/new_book_dialog.rb.nothread 2020-11-03 00:29:34.194485720 +0900 ++++ alexandria-book-collection-manager-0.7.6/lib/alexandria/ui/new_book_dialog.rb 2020-11-03 00:34:01.426386821 +0900 +@@ -281,15 +281,17 @@ module Alexandria + get_images_async + false # continue == false if you get to here. Stop timeout. + end +- else ++ elsif @find_thread + # Stop if the book find thread has stopped. + @find_thread.alive? ++ else ++ true + end + # continue == false if @find_error OR if results are returned + # timeout ends if continue is false! + + # @find_thread.alive? happens after find_thread is done +- unless continue || @find_thread.alive? || @destroyed ++ unless continue || (@find_thread && @find_thread.alive?) || @destroyed + notify_end_add_by_isbn + @button_add.sensitive = false + end diff --git a/alexandria-0.7.8-explicitly-specify_gem_image_size.patch b/alexandria-0.7.8-explicitly-specify_gem_image_size.patch new file mode 100644 index 0000000..9230b9a --- /dev/null +++ b/alexandria-0.7.8-explicitly-specify_gem_image_size.patch @@ -0,0 +1,10 @@ +--- alexandria-book-collection-manager-0.7.8/lib/alexandria/export_library.rb.image_size 2020-11-29 20:50:34.000000000 +0900 ++++ alexandria-book-collection-manager-0.7.8/lib/alexandria/export_library.rb 2021-08-27 11:09:49.794917238 +0900 +@@ -5,6 +5,7 @@ + # See the file README.md for authorship and licensing information. + + require "csv" ++gem "image_size" + require "image_size" + require "tmpdir" + diff --git a/alexandria-0.7.8-reset-search-when-adding-new-book.patch b/alexandria-0.7.8-reset-search-when-adding-new-book.patch new file mode 100644 index 0000000..2c93ebc --- /dev/null +++ b/alexandria-0.7.8-reset-search-when-adding-new-book.patch @@ -0,0 +1,15 @@ +diff -urp '--exclude=*~' alexandria-book-collection-manager-0.7.8/lib/alexandria/ui/ui_manager.rb alexandria-book-collection-manager-0.7.8.new/lib/alexandria/ui/ui_manager.rb +--- alexandria-book-collection-manager-0.7.8/lib/alexandria/ui/ui_manager.rb 2021-03-05 00:06:46.604012398 +0900 ++++ alexandria-book-collection-manager-0.7.8.new/lib/alexandria/ui/ui_manager.rb 2021-03-04 23:53:11.560895622 +0900 +@@ -569,7 +569,10 @@ module Alexandria + end + @iconview.unfreeze + @listview.unfreeze # NEW +- select_a_book(book) if [Library::BOOK_ADDED, Library::BOOK_UPDATED].include? kind ++ if [Library::BOOK_ADDED, Library::BOOK_UPDATED].include? kind ++ on_clear_search_results ++ select_a_book(book) ++ end + elsif selected_library.is_a?(SmartLibrary) + refresh_books + end diff --git a/alexandria-0.7.4-ascii-fix.patch b/alexandria-0.7.9-ascii-fix.patch similarity index 88% rename from alexandria-0.7.4-ascii-fix.patch rename to alexandria-0.7.9-ascii-fix.patch index abda240..4c9082a 100644 --- a/alexandria-0.7.4-ascii-fix.patch +++ b/alexandria-0.7.9-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 = IO.read(t.source) -+ data = IO.read(t.source, :encoding => "BINARY") +- data = File.read(t.source) ++ data = File.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.4-utf8-convert.patch b/alexandria-0.7.9-utf8-convert.patch similarity index 88% rename from alexandria-0.7.4-utf8-convert.patch rename to alexandria-0.7.9-utf8-convert.patch index 694f555..b6b4249 100644 --- a/alexandria-0.7.4-utf8-convert.patch +++ b/alexandria-0.7.9-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.map!{|str| str.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.force_encoding("UTF-8")}.join(", ") ++ iter[Columns::AUTHORS] = book.authors.dup.map!{|str| str.dup.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.4-yaml-unescape.patch b/alexandria-0.7.9-yaml-unescape.patch similarity index 63% rename from alexandria-0.7.4-yaml-unescape.patch rename to alexandria-0.7.9-yaml-unescape.patch index 22c5759..0b2c42a 100644 --- a/alexandria-0.7.4-yaml-unescape.patch +++ b/alexandria-0.7.9-yaml-unescape.patch @@ -1,7 +1,7 @@ ---- alexandria-book-collection-manager-0.7.4/lib/alexandria/library_store.rb.broken_yaml 2019-10-25 01:20:07.000000000 +0900 -+++ alexandria-book-collection-manager-0.7.4/lib/alexandria/library_store.rb 2020-01-07 14:39:45.495305334 +0900 +--- alexandria-book-collection-manager-0.7.6/lib/alexandria/library_store.rb.broken_yaml 2020-11-01 21:35:07.000000000 +0900 ++++ alexandria-book-collection-manager-0.7.6/lib/alexandria/library_store.rb 2020-11-03 00:26:24.240552377 +0900 @@ -48,8 +48,23 @@ module Alexandria - Dir["*" + Library::EXT[:book]].each do |filename| + Dir["*" + Library::EXT[:book]].sort.each do |filename| test[1] = filename if (test[0]).zero? + book_valid_p = true @@ -33,21 +33,22 @@ old_isbn = book.isbn old_pub_year = book.publishing_year begin -@@ -170,6 +185,8 @@ module Alexandria +@@ -181,6 +196,9 @@ module Alexandria private def regularize_book_from_yaml(name) ++ require 'syck/constants' + require 'syck/encoding' + - text = IO.read(name) + text = File.read(name) # Code to remove the mystery string in books imported from Amazon -@@ -192,7 +209,7 @@ module Alexandria +@@ -203,7 +221,7 @@ module Alexandria end - # 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]) +- book = Book.from_yaml(text) ++ book = Book.from_yaml(Syck::unescape(text)) - unless book.isbn.class == String + unless book.isbn.instance_of? String # HACK + md = /isbn: (.+)/.match(text) diff --git a/alexandria-0.7.4-z3950-zoom-count.patch b/alexandria-0.7.9-z3950-zoom-count.patch similarity index 84% rename from alexandria-0.7.4-z3950-zoom-count.patch rename to alexandria-0.7.9-z3950-zoom-count.patch index ec82c15..8bba797 100644 --- a/alexandria-0.7.4-z3950-zoom-count.patch +++ b/alexandria-0.7.9-z3950-zoom-count.patch @@ -1,5 +1,5 @@ ---- 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 +--- 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 @@ -149,7 +149,11 @@ module Alexandria conn.preferred_record_syntax = prefs["record_syntax"] diff --git a/alexandria.spec b/alexandria.spec index ded1e21..38aa9f4 100644 --- a/alexandria.spec +++ b/alexandria.spec @@ -1,9 +1,14 @@ -%define majorver 0.7.4 +%define BothRequires() \ +Requires: %{*} \ +BuildRequires: %{*} \ +%{nil} + +%define majorver 0.7.9 %undefine minorver %undefine ifpre -%define fedorarel 1 -%define rel %{?ifpre:0.}%{fedorarel}%{?minorver:.%minorver} +%define baserelease 12 +%define rel %{?ifpre:0.}%{baserelease}%{?minorver:.%minorver} @@ -12,7 +17,10 @@ Version: %{majorver} Release: %{rel}%{?dist} Summary: Book collection manager -License: GPLv2+ +# 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 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 @@ -31,7 +39,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.4-ascii-fix.patch +Patch14: alexandria-0.7.9-ascii-fix.patch # Fix kcode issues with 1.9 # Well, with the original fix, some strange failure on startup # happens on ja_JP.utf8... @@ -40,31 +48,33 @@ Patch14: alexandria-0.7.4-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.4-utf8-convert.patch +Patch18: alexandria-0.7.9-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 # More UTF-8 fix on ruby 1.9, when exporting library to csv # or bibtex -Patch20: alexandria-0.7.4-export-to-CSV-bintex-with-ruby19.patch +Patch20: alexandria-0.7.5-export-to-CSV-bintex-with-ruby19.patch # Remove garbage character with icon view on multibyte locate Patch21: alexandria-0.7.4-iconview-multibyte.patch # Split Patch18 into two patches, one for lib/alexandria/models/library.rb # (this file) and other. Also handle broken yaml file correctly and let # user redownload it # (bug 861740) -Patch22: alexandria-0.7.4-yaml-unescape.patch +Patch22: alexandria-0.7.9-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 # Handle the case thread was not created with adding new book -Patch25: alexandria-0.7.4-newbook-nothread.patch +Patch25: alexandria-0.7.6-newbook-nothread.patch # Make z3950 provider work # ZOOM::Connection.count must be string -Patch26: alexandria-0.7.4-z3950-zoom-count.patch +Patch26: alexandria-0.7.9-z3950-zoom-count.patch # Read negative value as integer in case position has such value # (bug 1014295) -Patch27: alexandria-0.7.4-negative-value.patch +# https://github.com/mvz/alexandria-book-collection-manager/issues/135 +# Applied in 0.7.9 +#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) @@ -73,6 +83,11 @@ Patch29: alexandria-0.7.4-glade-gettext.patch Patch30: alexandria-0.7.4-title-force-encoding.patch # Remove undefined / unneeded method Patch31: alexandria-0.7.4-remove-undefined-method.patch +# Once reset search text when adding new book (bug 1909500) +# https://github.com/mvz/alexandria-book-collection-manager/issues/106 +Patch32: alexandria-0.7.8-reset-search-when-adding-new-book.patch +# Explicitly specify image_size gem +Patch33: alexandria-0.7.8-explicitly-specify_gem_image_size.patch BuildArch: noarch @@ -89,31 +104,42 @@ BuildRequires: gettext BuildRequires: intltool # From 0.7.4 BuildRequires: rubygem(rspec) +# Needed since Ruby 3.0. +# https://github.com/mvz/alexandria-book-collection-manager/issues/124 +%BothRequires rubygem(rexml) +# rspec test +BuildRequires: %{_bindir}/xvfb-run +BuildRequires: %{_bindir}/ping +BuildRequires: rubygem(webmock) +BuildRequires: rubygem(json) +BuildRequires: rubygem(pry) +BuildRequires: gstreamer1-plugins-base +# autoaudiosink +BuildRequires: gstreamer1-plugins-good -# Amazon AWS v3 -> v4 switch -# AWS v4 is supported by alexandria itself -# But hpricot is still needed +# 0.7.9 uses nokogiri instead of hpricot #Requires: ruby(amazon) -Requires: rubygem(gettext) -Requires: rubygem(hpricot) -Requires: rubygem(htmlentities) -Requires: ruby(imagesize) +%BothRequires rubygem(gettext) +%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) -Requires: rubygem(zoom) >= 0.3.0 -Requires: rubygem(marc) +%BothRequires rubygem(zoom) >= 0.3.0 +%BothRequires rubygem(marc) # Killed on 0.6.8 #Requires: ruby(gconf2) # Explicitly Requires: GConf2 -Requires: rubygem(gdk_pixbuf2) -Requires: rubygem(glib2) +%BothRequires rubygem(gdk_pixbuf2) +%BothRequires rubygem(glib2) # Killed on 0.6.8 #Requires: ruby(gnome2) #Requires: ruby(libglade2) @@ -121,12 +147,11 @@ Requires: rubygem(glib2) # Requires: rubygem(goocanvas) # The above needs more explicit # With 0.7.4 this dependency changed, goocanvas2 + introspection -Requires: rubygem(goocanvas) +%BothRequires rubygem(goocanvas) >= 2 +%BothRequires rubygem(gstreamer) +%BothRequires rubygem(gtk3) # Uses syck (bug 922217) -# Once kill this with 0.7.4 -%if 0%{?fedora} < 32 -Requires: rubygem(syck) -%endif +%BothRequires rubygem(syck) Requires(pre): GConf2 Requires(post): GConf2 @@ -139,23 +164,29 @@ 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 -#%%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 +#%%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.*$||' # Embed Fedora EVR %{__sed} -i.evr \ @@ -183,9 +214,6 @@ rake install_package_staging \ RUBYLIBDIR=%{ruby_vendorlibdir} desktop-file-install \ -%if 0%{?fedora} < 19 - --vendor fedora \ -%endif --dir $RPM_BUILD_ROOT%{_datadir}/applications/ \ --delete-original \ $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop @@ -248,6 +276,53 @@ EOF %find_lang %{name} +%check +export LANG=C.utf8 +# Tweak config path for %%check +sed -i.testsuite lib/alexandria/config.rb \ + -e 's|/usr/share|%{buildroot}%{_datadir}|' +# Kill tests which needs network +disable_test() { + sed -i.testsuite $1 -e "\@$2@s|it|xit|" +} + + +rm -rf .config/gconf +mkdir -p .config/gconf +export XDG_CONFIG_HOME=$(pwd)/.config + +# fake bundler +mkdir -p FAKE/bundler +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; + } \ + || \ + { + 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"; + sed -i spec/alexandria/book_providers_spec.rb -e "\@Alexandria::BookProviders::SBNProvider@{n;s|it|xit|}"; + } + +xvfb-run \ + -s "-screen 0 640x480x24" \ + rake spec:unit + +find . -name \*.testsuite | while read f +do + mv ${f} ${f%.testsuite} +done + %pre %gconf_schema_prepare %{name} @@ -258,7 +333,7 @@ EOF %gconf_schema_remove %{name} %files -f %{name}.lang -%doc COPYING +%license COPYING %doc ChangeLog* %doc INSTALL.md %doc README* @@ -284,6 +359,100 @@ EOF %{_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 + +* Wed Jul 21 2021 Fedora Release Engineering - 0.7.8-5.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Mar 7 2021 Mamoru TASAKA - 0.7.8-5 +- set XDG_CONFIG_HOME for test suite + +* Fri Mar 5 2021 Mamoru TASAKA - 0.7.8-4 +- Simply use rake spec, and fake bundler / simplecov + +* Fri Mar 5 2021 Mamoru TASAKA - 0.7.8-3 +- Once reset search text when adding new book (bug 1909500) +- Enable test, fix Fedora specific patch (errors detected with the test) + +* Mon Jan 25 2021 Fedora Release Engineering - 0.7.8-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Jan 7 2021 Vít Ondruch - 0.7.8-2 +- Add ReXML dependency needed for Ruby 3.0. + +* Thu Dec 3 2020 Mamoru TASAKA - 0.7.8-1 +- 0.7.8 + +* Mon Nov 2 2020 Mamoru TASAKA - 0.7.6-1 +- 0.7.6 + +* Fri Oct 30 2020 Mamoru TASAKA - 0.7.5-1 +- 0.7.5 +- Once revert upstream change about setting initial visibility to false + (upstream bug 86) + +* Sun Aug 9 2020 Mamoru TASAKA - 0.7.4-3 +- syck is needed, adding to Requires again + +* Mon Jul 27 2020 Fedora Release Engineering - 0.7.4-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 11 2020 Mamoru TASAKA - 0.7.4-2 +- Fix Requires, expecially, add R: rubygem(gtk3) (bug 1833761) + +* Tue Jan 28 2020 Fedora Release Engineering - 0.7.4-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Wed Jan 15 2020 Mamoru TASAKA - 0.7.4-1 - 0.7.4, move to github mvz fork diff --git a/sources b/sources index 5f4bfe0..b0c7759 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (alexandria-0.6.9.tar.gz) = d4a972d3a276bfd2ba36b7da6425230e16139f5a8f5174f059a6046f16fcc43299872f5082d87dc2b69d1c0b568ba652d4ab4d545a4b7c35a615ebd4e707dbd7 -SHA512 (alexandria-0.7.4.tar.gz) = 7bbb6e8b201dbd7d4547dbc546b6ec7affed765baa57dcfd3448cb3fb2f2557150bd7649a238fd85b568dba3c48a9805977d42cb7347df6df31aba03ec2da953 +SHA512 (alexandria-0.7.9.tar.gz) = c1619b68778c1b94b6dff32c7be698afe29488c96c1719fcf65b6a03b3078c58053a5e76e9771a00a06dc654f95329af381c6659521f137df8eccca351811a18