I: pbuilder: network access will be disabled during build I: Current time: Sat May 4 15:52:52 +14 2024 I: pbuilder-time-stamp: 1714787572 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [calibre_7.10.0+ds-1.dsc] I: copying [./calibre_7.10.0+ds.orig.tar.xz] I: copying [./calibre_7.10.0+ds-1.debian.tar.xz] I: Extracting source gpgv: Signature made Fri May 3 12:51:10 2024 gpgv: using RSA key AE395F287AB14F5D551723C4A9E9B64F92DE6DCA gpgv: issuer "yokota.hgml@gmail.com" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./calibre_7.10.0+ds-1.dsc: no acceptable signature found dpkg-source: info: extracting calibre in calibre-7.10.0+ds dpkg-source: info: unpacking calibre_7.10.0+ds.orig.tar.xz dpkg-source: info: unpacking calibre_7.10.0+ds-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-only-plugin-update.patch dpkg-source: info: applying 0002-no-detach-in-desktop-files.patch dpkg-source: info: applying 0003-disable-unrar-test.patch dpkg-source: info: applying 0004-Extend-timeout-limit.patch dpkg-source: info: applying 0005-Extend-timeout-limit.patch dpkg-source: info: applying 0006-Extend-timeout-limit-to-pass-test_backup-test.patch dpkg-source: info: applying hardening/0007-Hardening-Qt-code.patch dpkg-source: info: applying 0008-Don-t-change-book-file-unless-user-s-consent-Closes-.patch dpkg-source: info: applying 0009-Use-stdint.h-to-support-MIPS64.patch dpkg-source: info: applying 0010-Add-Debian-specific-SIP-path.patch dpkg-source: info: applying 0011-Debian-uses-pycryptodomex-instead-of-prcryptodome.patch dpkg-source: info: applying 0012-py7zr-uses-PyCryptodome.patch dpkg-source: info: applying hardening/0013-Add-hardening-options-from-CPPFLAGS.patch dpkg-source: info: applying reproducible/0014-Sort-object-lists-for-reproducible-build.patch dpkg-source: info: applying reproducible/0015-Sort-file-names-for-reproducible-build.patch dpkg-source: info: applying reproducible/0016-Sort-directory-and-file-names-to-reproducible-build.patch dpkg-source: info: applying reproducible/0017-Sort-files-and-directories-for-reproducible-build.patch dpkg-source: info: applying 0018-Use-zstd-module-instead-of-pyzstd.patch dpkg-source: info: applying podofo098/0019-Revert-sort-imports-in-all-python-files.patch dpkg-source: info: applying podofo098/0020-Revert-Restore-garbage-removal-on-podofo-save-as-we-.patch dpkg-source: info: applying podofo098/0021-Revert-Include-the-PoDoFo-garbage-collection-fix.patch dpkg-source: info: applying podofo098/0022-Revert.patch dpkg-source: info: applying podofo098/0023-Revert-When-saving-PDF-in-PoDoFo-dont-collect-garbag.patch dpkg-source: info: applying podofo098/0024-Revert-Bump-the-version-of-PoDoFo.patch dpkg-source: info: applying podofo098/0025-Revert-PDF-metadata-Fix-a-regression-that-broke-upda.patch dpkg-source: info: applying podofo098/0026-Revert-PDF-Output-Run-dedup-in-multiple-passes.-This.patch dpkg-source: info: applying podofo098/0027-Revert-String-representation-of-Image-for-debugging.patch dpkg-source: info: applying podofo098/0028-Revert-Also-update-SMask-references.patch dpkg-source: info: applying podofo098/0029-Revert-PDF-Output-Fix-background-image-text-not-rend.patch dpkg-source: info: applying podofo098/0030-Revert.patch dpkg-source: info: applying podofo098/0031-Revert.patch dpkg-source: info: applying podofo098/0032-Revert-Remove-PoDoFo-0.10.0-compat-path.patch dpkg-source: info: applying podofo098/0033-Revert.patch dpkg-source: info: applying podofo098/0034-Revert-Bump-version-of-podofo-to-latest-release.patch dpkg-source: info: applying podofo098/0035-Revert-add-a-simple-append-test-for-PDF.patch dpkg-source: info: applying podofo098/0036-Revert-PDF-Output-Fix-regression-that-caused-large-s.patch dpkg-source: info: applying podofo098/0037-Revert-1.patch dpkg-source: info: applying podofo098/0038-Revert-Use-the-much-faster-new-bulk-page-creation-AP.patch dpkg-source: info: applying podofo098/0039-Revert-Release-GIL-while-running-append.patch dpkg-source: info: applying podofo098/0040-Revert-Append-all-at-once.patch dpkg-source: info: applying podofo098/0041-Revert-Implement-our-own-pdf-append-function-the-one.patch dpkg-source: info: applying podofo098/0042-Revert-PDF-Output-Fix-regression-in-previous-release.patch dpkg-source: info: applying podofo098/0043-Revert-PDF-Output-Fix-regression-in-previous-release.patch dpkg-source: info: applying podofo098/0044-Revert-A-more-convenient-way-to-build-against-a-cust.patch dpkg-source: info: applying podofo098/0045-Revert.patch dpkg-source: info: applying podofo098/0046-Revert-Fix-mem-leak-on-loading-multiple-PDFs-with-bu.patch dpkg-source: info: applying podofo098/0047-Revert-Bump-version-of-podofo.patch dpkg-source: info: applying podofo098/0048-Revert-Fix-loading-of-PDF-from-data-causing-memory-c.patch dpkg-source: info: applying podofo098/0049-Revert-Fix-drawing-of-header-footer.patch dpkg-source: info: applying podofo098/0050-Revert-Use-PoDoFo-to-insert-the-cover-page-bypassing.patch dpkg-source: info: applying podofo098/0051-Revert-Podofo-wrapper-to-add-an-image-page.patch dpkg-source: info: applying podofo098/0052-Revert-Add-a-test-for-PDf-version.patch dpkg-source: info: applying podofo098/0053-Revert-Get-creating-outlines-working-again.patch dpkg-source: info: applying podofo098/0054-Revert-Get-PDF-metadata-setting-working-again.patch dpkg-source: info: applying podofo098/0055-Revert-Fix-PdfObject-GetReference-semantics-changed.patch dpkg-source: info: applying podofo098/0056-Revert-Restore-suppression-of-informational-log-mess.patch dpkg-source: info: applying podofo098/0057-Revert-Fix-delete_pages.patch dpkg-source: info: applying podofo098/0058-Revert-Improve-the-test-for-setting-XMP-metadata.patch dpkg-source: info: applying podofo098/0059-Revert-Fix-the-bytes-output-device.patch dpkg-source: info: applying podofo098/0060-Revert-Start-work-on-porting-to-new-PoDoFo-API.patch dpkg-source: info: applying 0061-Some-color-scheme-functions-are-not-available-in-Qt-.patch dpkg-source: info: applying 0062-Add-keywords-to-desktop-application-entry-file.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3731387/tmp/hooks/D01_modify_environment starting debug: Running on codethink04-arm64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 May 4 01:53 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/3731387/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/3731387/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.2.21(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=arm64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DIRSTACK=() DISTRIBUTION=unstable EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=aarch64 HOST_ARCH=arm64 IFS=' ' INVOCATION_ID=06061478ef88425b94e0eea2c15e6e43 LANG=C LANGUAGE=nl_BE:nl LC_ALL=C MACHTYPE=aarch64-unknown-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=3731387 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.MGBWxwPs/pbuilderrc_AIHK --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.MGBWxwPs/b2 --logfile b2/build.log calibre_7.10.0+ds-1.dsc' SUDO_GID=109 SUDO_UID=104 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://192.168.101.4:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-20-cloud-arm64 #1 SMP Debian 6.1.85-1 (2024-04-11) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 3 07:43 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3731387/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), cmake (>= 3.21), ca-certificates, curl, dh-buildinfo, dh-python, fonts-liberation (>= 1:2.1.5-2), libboost-dev, libchm-dev, libegl-dev, libhunspell-dev, libhyphen-dev, libicu-dev, libjpeg-turbo-progs, libjxr-tools, libmtdev-dev, libmtp-dev, libpodofo-dev, libqt6webenginecore6-bin, librsvg2-bin, libsqlite3-dev, libssl-dev, libstemmer-dev, libuchardet-dev, libudev-dev, libusb-1.0-0-dev, optipng, poppler-utils, pyqt6-dev, pyqt6-dev-tools, python3, python3-apsw, python3-bs4, python3-chm, python3-css-parser, python3-cssselect, python3-dateutil, python3-dev, python3-feedparser (>= 6.0.8-1~), python3-fonttools, python3-html2text, python3-html5-parser (>= 0.4.10-1~), python3-html5lib, python3-ipython, python3-jeepney, python3-lxml, python3-lxml-html-clean | python3-lxml (<< 5.2.0-1), python3-markdown, python3-mechanize, python3-msgpack, python3-netifaces, python3-pil, python3-pkg-resources, python3-psutil, python3-py7zr, python3-pycryptodome, python3-pygments, python3-pyparsing, python3-pyqt6, python3-pyqt6.qtquick, python3-pyqt6.qtsvg, python3-pyqt6.qtwebengine, python3-pyqtbuild, python3-regex, python3-routes, python3-setuptools, python3-sipbuild, python3-speechd, python3-xxhash, python3-zeroconf, python3-zstd, qt6-image-formats-plugins, qmake6, qt6-base-dev, qt6-base-private-dev, qt6-wayland, webp, xdg-utils dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19736 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on cmake (>= 3.21); however: Package cmake is not installed. pbuilder-satisfydepends-dummy depends on ca-certificates; however: Package ca-certificates is not installed. pbuilder-satisfydepends-dummy depends on curl; however: Package curl is not installed. pbuilder-satisfydepends-dummy depends on dh-buildinfo; however: Package dh-buildinfo is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on fonts-liberation (>= 1:2.1.5-2); however: Package fonts-liberation is not installed. pbuilder-satisfydepends-dummy depends on libboost-dev; however: Package libboost-dev is not installed. pbuilder-satisfydepends-dummy depends on libchm-dev; however: Package libchm-dev is not installed. pbuilder-satisfydepends-dummy depends on libegl-dev; however: Package libegl-dev is not installed. pbuilder-satisfydepends-dummy depends on libhunspell-dev; however: Package libhunspell-dev is not installed. pbuilder-satisfydepends-dummy depends on libhyphen-dev; however: Package libhyphen-dev is not installed. pbuilder-satisfydepends-dummy depends on libicu-dev; however: Package libicu-dev is not installed. pbuilder-satisfydepends-dummy depends on libjpeg-turbo-progs; however: Package libjpeg-turbo-progs is not installed. pbuilder-satisfydepends-dummy depends on libjxr-tools; however: Package libjxr-tools is not installed. pbuilder-satisfydepends-dummy depends on libmtdev-dev; however: Package libmtdev-dev is not installed. pbuilder-satisfydepends-dummy depends on libmtp-dev; however: Package libmtp-dev is not installed. pbuilder-satisfydepends-dummy depends on libpodofo-dev; however: Package libpodofo-dev is not installed. pbuilder-satisfydepends-dummy depends on libqt6webenginecore6-bin; however: Package libqt6webenginecore6-bin is not installed. pbuilder-satisfydepends-dummy depends on librsvg2-bin; however: Package librsvg2-bin is not installed. pbuilder-satisfydepends-dummy depends on libsqlite3-dev; however: Package libsqlite3-dev is not installed. pbuilder-satisfydepends-dummy depends on libssl-dev; however: Package libssl-dev is not installed. pbuilder-satisfydepends-dummy depends on libstemmer-dev; however: Package libstemmer-dev is not installed. pbuilder-satisfydepends-dummy depends on libuchardet-dev; however: Package libuchardet-dev is not installed. pbuilder-satisfydepends-dummy depends on libudev-dev; however: Package libudev-dev is not installed. pbuilder-satisfydepends-dummy depends on libusb-1.0-0-dev; however: Package libusb-1.0-0-dev is not installed. pbuilder-satisfydepends-dummy depends on optipng; however: Package optipng is not installed. pbuilder-satisfydepends-dummy depends on poppler-utils; however: Package poppler-utils is not installed. pbuilder-satisfydepends-dummy depends on pyqt6-dev; however: Package pyqt6-dev is not installed. pbuilder-satisfydepends-dummy depends on pyqt6-dev-tools; however: Package pyqt6-dev-tools is not installed. pbuilder-satisfydepends-dummy depends on python3; however: Package python3 is not installed. pbuilder-satisfydepends-dummy depends on python3-apsw; however: Package python3-apsw is not installed. pbuilder-satisfydepends-dummy depends on python3-bs4; however: Package python3-bs4 is not installed. pbuilder-satisfydepends-dummy depends on python3-chm; however: Package python3-chm is not installed. pbuilder-satisfydepends-dummy depends on python3-css-parser; however: Package python3-css-parser is not installed. pbuilder-satisfydepends-dummy depends on python3-cssselect; however: Package python3-cssselect is not installed. pbuilder-satisfydepends-dummy depends on python3-dateutil; however: Package python3-dateutil is not installed. pbuilder-satisfydepends-dummy depends on python3-dev; however: Package python3-dev is not installed. pbuilder-satisfydepends-dummy depends on python3-feedparser (>= 6.0.8-1~); however: Package python3-feedparser is not installed. pbuilder-satisfydepends-dummy depends on python3-fonttools; however: Package python3-fonttools is not installed. pbuilder-satisfydepends-dummy depends on python3-html2text; however: Package python3-html2text is not installed. pbuilder-satisfydepends-dummy depends on python3-html5-parser (>= 0.4.10-1~); however: Package python3-html5-parser is not installed. pbuilder-satisfydepends-dummy depends on python3-html5lib; however: Package python3-html5lib is not installed. pbuilder-satisfydepends-dummy depends on python3-ipython; however: Package python3-ipython is not installed. pbuilder-satisfydepends-dummy depends on python3-jeepney; however: Package python3-jeepney is not installed. pbuilder-satisfydepends-dummy depends on python3-lxml; however: Package python3-lxml is not installed. pbuilder-satisfydepends-dummy depends on python3-lxml-html-clean | python3-lxml (<< 5.2.0-1); however: Package python3-lxml-html-clean is not installed. Package python3-lxml is not installed. pbuilder-satisfydepends-dummy depends on python3-markdown; however: Package python3-markdown is not installed. pbuilder-satisfydepends-dummy depends on python3-mechanize; however: Package python3-mechanize is not installed. pbuilder-satisfydepends-dummy depends on python3-msgpack; however: Package python3-msgpack is not installed. pbuilder-satisfydepends-dummy depends on python3-netifaces; however: Package python3-netifaces is not installed. pbuilder-satisfydepends-dummy depends on python3-pil; however: Package python3-pil is not installed. pbuilder-satisfydepends-dummy depends on python3-pkg-resources; however: Package python3-pkg-resources is not installed. pbuilder-satisfydepends-dummy depends on python3-psutil; however: Package python3-psutil is not installed. pbuilder-satisfydepends-dummy depends on python3-py7zr; however: Package python3-py7zr is not installed. pbuilder-satisfydepends-dummy depends on python3-pycryptodome; however: Package python3-pycryptodome is not installed. pbuilder-satisfydepends-dummy depends on python3-pygments; however: Package python3-pygments is not installed. pbuilder-satisfydepends-dummy depends on python3-pyparsing; however: Package python3-pyparsing is not installed. pbuilder-satisfydepends-dummy depends on python3-pyqt6; however: Package python3-pyqt6 is not installed. pbuilder-satisfydepends-dummy depends on python3-pyqt6.qtquick; however: Package python3-pyqt6.qtquick is not installed. pbuilder-satisfydepends-dummy depends on python3-pyqt6.qtsvg; however: Package python3-pyqt6.qtsvg is not installed. pbuilder-satisfydepends-dummy depends on python3-pyqt6.qtwebengine; however: Package python3-pyqt6.qtwebengine is not installed. pbuilder-satisfydepends-dummy depends on python3-pyqtbuild; however: Package python3-pyqtbuild is not installed. pbuilder-satisfydepends-dummy depends on python3-regex; however: Package python3-regex is not installed. pbuilder-satisfydepends-dummy depends on python3-routes; however: Package python3-routes is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-sipbuild; however: Package python3-sipbuild is not installed. pbuilder-satisfydepends-dummy depends on python3-speechd; however: Package python3-speechd is not installed. pbuilder-satisfydepends-dummy depends on python3-xxhash; however: Package python3-xxhash is not installed. pbuilder-satisfydepends-dummy depends on python3-zeroconf; however: Package python3-zeroconf is not installed. pbuilder-satisfydepends-dummy depends on python3-zstd; however: Package python3-zstd is not installed. pbuilder-satisfydepends-dummy depends on qt6-image-formats-plugins; however: Package qt6-image-formats-plugins is not installed. pbuilder-satisfydepends-dummy depends on qmake6; however: Package qmake6 is not installed. pbuilder-satisfydepends-dummy depends on qt6-base-dev; however: Package qt6-base-dev is not installed. pbuilder-satisfydepends-dummy depends on qt6-base-private-dev; however: Package qt6-base-private-dev is not installed. pbuilder-satisfydepends-dummy depends on qt6-wayland; however: Package qt6-wayland is not installed. pbuilder-satisfydepends-dummy depends on webp; however: Package webp is not installed. pbuilder-satisfydepends-dummy depends on xdg-utils; however: Package xdg-utils is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} cmake{a} cmake-data{a} curl{a} debhelper{a} dh-autoreconf{a} dh-buildinfo{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-liberation{a} gettext{a} gettext-base{a} gir1.2-glib-2.0{a} gir1.2-glib-2.0-dev{a} gir1.2-gudev-1.0{a} groff-base{a} icu-devtools{a} intltool-debian{a} libarchive-zip-perl{a} libarchive13t64{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libb2-1{a} libblas3{a} libblkid-dev{a} libboost-dev{a} libboost1.83-dev{a} libbrotli-dev{a} libbrotli1{a} libbsd0{a} libbz2-dev{a} libcairo-gobject2{a} libcairo2{a} libchm-dev{a} libchm1{a} libcom-err2{a} libcups2t64{a} libcurl3t64-gnutls{a} libcurl4t64{a} libdatrie1{a} libdbus-1-3{a} libdebhelper-perl{a} libdeflate0{a} libdouble-conversion3{a} libdrm-amdgpu1{a} libdrm-common{a} libdrm-nouveau2{a} libdrm-radeon1{a} libdrm2{a} libduktape207{a} libedit2{a} libegl-dev{a} libegl-mesa0{a} libegl1{a} libelf1t64{a} libevdev-dev{a} libevdev2{a} libevent-2.1-7t64{a} libexpat1{a} libexpat1-dev{a} libffi-dev{a} libfile-stripnondeterminism-perl{a} libfontconfig-dev{a} libfontconfig1{a} libfreetype-dev{a} libfreetype6{a} libfribidi0{a} libgbm1{a} libgdk-pixbuf-2.0-0{a} libgdk-pixbuf2.0-common{a} libgfortran5{a} libgif7{a} libgl-dev{a} libgl1{a} libgl1-mesa-dri{a} libglapi-mesa{a} libglib2.0-0t64{a} libglib2.0-bin{a} libglib2.0-data{a} libglib2.0-dev{a} libglib2.0-dev-bin{a} libglut3.12{a} libglvnd0{a} libglx-dev{a} libglx-mesa0{a} libglx0{a} libgraphite2-3{a} libgssapi-krb5-2{a} libgudev-1.0-0{a} libgudev-1.0-dev{a} libharfbuzz-subset0{a} libharfbuzz0b{a} libhunspell-1.7-0{a} libhunspell-dev{a} libhyphen-dev{a} libhyphen0{a} libice6{a} libicu-dev{a} libicu72{a} libidn12{a} libimagequant0{a} libinput-bin{a} libinput-dev{a} libinput10{a} libjbig0{a} libjpeg-turbo-progs{a} libjpeg62-turbo{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} libjsoncpp25{a} libjxr-tools{a} libjxr0t64{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblapack3{a} liblbfgsb0{a} liblcms2-2{a} libldap-2.5-0{a} liblerc4{a} libllvm17t64{a} libmagic-mgc{a} libmagic1t64{a} libmd4c0{a} libminizip1t64{a} libmng1{a} libmount-dev{a} libmtdev-dev{a} libmtdev1t64{a} libmtp-common{a} libmtp-dev{a} libmtp9t64{a} libnghttp2-14{a} libnspr4{a} libnss3{a} libopengl-dev{a} libopengl0{a} libopenjp2-7{a} libopus0{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpipeline1{a} libpixman-1-0{a} libpkgconf3{a} libpng-dev{a} libpng16-16t64{a} libpodofo-dev{a} libpodofo0.9.8t64{a} libpoppler126t64{a} libproc2-0{a} libproxy1v5{a} libpsl5t64{a} libpthread-stubs0-dev{a} libpython3-dev{a} libpython3-stdlib{a} libpython3.11-dev{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libpython3.11t64{a} libqt6concurrent6t64{a} libqt6core6t64{a} libqt6dbus6t64{a} libqt6gui6t64{a} libqt6network6t64{a} libqt6opengl6t64{a} libqt6openglwidgets6t64{a} libqt6positioning6{a} libqt6printsupport6t64{a} libqt6qml6{a} libqt6qmlmodels6{a} libqt6quick6{a} libqt6quickwidgets6{a} libqt6sql6t64{a} libqt6svg6{a} libqt6svgwidgets6{a} libqt6test6t64{a} libqt6waylandclient6{a} libqt6waylandcompositor6{a} libqt6waylandeglclienthwintegration6{a} libqt6waylandeglcompositorhwintegration6{a} libqt6webchannel6{a} libqt6webengine6-data{a} libqt6webenginecore6{a} libqt6webenginecore6-bin{a} libqt6webenginequick6{a} libqt6webenginewidgets6{a} libqt6widgets6t64{a} libqt6wlshellintegration6{a} libqt6xml6t64{a} libraqm0{a} libreadline8t64{a} librhash0{a} librsvg2-2{a} librsvg2-bin{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libselinux1-dev{a} libsensors-config{a} libsensors5{a} libsepol-dev{a} libsharpyuv0{a} libsm6{a} libsnappy1v5{a} libsqlite3-dev{a} libssh2-1t64{a} libssl-dev{a} libstemmer-dev{a} libstemmer0d{a} libsub-override-perl{a} libthai-data{a} libthai0{a} libtiff6{a} libtool{a} libts0t64{a} libturbojpeg0{a} libuchardet-dev{a} libuchardet0{a} libudev-dev{a} libusb-1.0-0{a} libusb-1.0-0-dev{a} libuv1t64{a} libvpx8{a} libvulkan-dev{a} libvulkan1{a} libwacom-common{a} libwacom-dev{a} libwacom9{a} libwayland-client0{a} libwayland-cursor0{a} libwayland-egl1{a} libwayland-server0{a} libwebp7{a} libwebpdemux2{a} libwebpmux3{a} libx11-6{a} libx11-data{a} libx11-dev{a} libx11-xcb1{a} libxau-dev{a} libxau6{a} libxcb-dri2-0{a} libxcb-dri3-0{a} libxcb-glx0{a} libxcb-icccm4{a} libxcb-image0{a} libxcb-keysyms1{a} libxcb-present0{a} libxcb-randr0{a} libxcb-render-util0{a} libxcb-render0{a} libxcb-shape0{a} libxcb-shm0{a} libxcb-sync1{a} libxcb-util1{a} libxcb-xfixes0{a} libxcb-xkb1{a} libxcb1{a} libxcb1-dev{a} libxcomposite1{a} libxdamage1{a} libxdmcp-dev{a} libxdmcp6{a} libxext6{a} libxfixes3{a} libxi6{a} libxkbcommon-dev{a} libxkbcommon-x11-0{a} libxkbcommon0{a} libxkbfile1{a} libxml2{a} libxrandr2{a} libxrender1{a} libxshmfence1{a} libxslt1.1{a} libxtst6{a} libxxf86vm1{a} libz3-4{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} optipng{a} pkgconf{a} pkgconf-bin{a} po-debconf{a} poppler-utils{a} procps{a} pyqt6-dev{a} pyqt6-dev-tools{a} python3{a} python3-appdirs{a} python3-apsw{a} python3-asttokens{a} python3-async-timeout{a} python3-attr{a} python3-brotli{a} python3-bs4{a} python3-chardet{a} python3-chm{a} python3-css-parser{a} python3-cssselect{a} python3-dateutil{a} python3-decorator{a} python3-dev{a} python3-distutils{a} python3-executing{a} python3-feedparser{a} python3-fonttools{a} python3-fs{a} python3-html2text{a} python3-html5-parser{a} python3-html5lib{a} python3-ifaddr{a} python3-ipython{a} python3-jedi{a} python3-jeepney{a} python3-lib2to3{a} python3-lxml{a} python3-lxml-html-clean{a} python3-lz4{a} python3-markdown{a} python3-matplotlib-inline{a} python3-mechanize{a} python3-minimal{a} python3-mpmath{a} python3-msgpack{a} python3-netifaces{a} python3-numpy{a} python3-packaging{a} python3-parso{a} python3-pexpect{a} python3-pil{a} python3-pkg-resources{a} python3-ply{a} python3-prompt-toolkit{a} python3-psutil{a} python3-ptyprocess{a} python3-pure-eval{a} python3-py7zr{a} python3-pycryptodome{a} python3-pygments{a} python3-pyparsing{a} python3-pyqt6{a} python3-pyqt6.qtqml{a} python3-pyqt6.qtquick{a} python3-pyqt6.qtsvg{a} python3-pyqt6.qtwebchannel{a} python3-pyqt6.qtwebengine{a} python3-pyqt6.sip{a} python3-pyqtbuild{a} python3-regex{a} python3-repoze.lru{a} python3-routes{a} python3-scipy{a} python3-setuptools{a} python3-sgmllib3k{a} python3-sipbuild{a} python3-six{a} python3-soupsieve{a} python3-speechd{a} python3-stack-data{a} python3-sympy{a} python3-texttable{a} python3-traitlets{a} python3-typeshed{a} python3-tz{a} python3-ufolib2{a} python3-unicodedata2{a} python3-wcwidth{a} python3-webencodings{a} python3-xdg{a} python3-xxhash{a} python3-zeroconf{a} python3-zstd{a} python3.11{a} python3.11-dev{a} python3.11-minimal{a} qmake6{a} qmake6-bin{a} qt6-base-dev{a} qt6-base-dev-tools{a} qt6-base-private-dev{a} qt6-image-formats-plugins{a} qt6-qpa-plugins{a} qt6-wayland{a} readline-common{a} sensible-utils{a} shared-mime-info{a} tzdata{a} uchardet{a} unicode-data{a} uuid-dev{a} webp{a} x11-common{a} x11proto-dev{a} xdg-utils{a} xkb-data{a} xorg-sgml-doctools{a} xtrans-dev{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: bzip2-doc dbus fonts-liberation-sans-narrow hunspell-af hunspell-an hunspell-ar hunspell-be hunspell-bg hunspell-bn hunspell-bo hunspell-br hunspell-bs hunspell-ca hunspell-cs hunspell-da hunspell-de-at hunspell-de-at-frami hunspell-de-ch hunspell-de-ch-frami hunspell-de-de hunspell-de-de-frami hunspell-dz hunspell-el hunspell-en-au hunspell-en-ca hunspell-en-gb hunspell-en-us hunspell-en-za hunspell-eo hunspell-es hunspell-eu hunspell-fr-classical hunspell-fr-comprehensive hunspell-fr-revised hunspell-gd hunspell-gl hunspell-gu hunspell-gug hunspell-he hunspell-hi hunspell-hr hunspell-hu hunspell-id hunspell-is hunspell-it hunspell-kk hunspell-kmr hunspell-ko hunspell-lo hunspell-lt hunspell-lv hunspell-mn hunspell-ne hunspell-nl hunspell-no hunspell-oc hunspell-pl hunspell-pt-br hunspell-pt-pt hunspell-ro hunspell-ru hunspell-si hunspell-sk hunspell-sl hunspell-sr hunspell-sv hunspell-sw hunspell-te hunspell-th hunspell-tr hunspell-uk hunspell-uz hunspell-vi isympy-common javascript-common krb5-locales libarchive-cpio-perl libfile-mimeinfo-perl libgdk-pixbuf2.0-bin libldap-common libltdl-dev libmail-sendmail-perl libmtp-runtime libnet-dbus-perl libpng-tools libqt6sql6-ibase libqt6sql6-mysql libqt6sql6-odbc libqt6sql6-psql libqt6sql6-sqlite librsvg2-common libsasl2-modules libusb-1.0-doc libx11-protocol-perl mesa-vulkan-drivers myspell-cs myspell-da myspell-de-de-1901 myspell-en-au myspell-es myspell-et myspell-fa myspell-fo myspell-fr myspell-fr-gut myspell-ga myspell-gd myspell-gv myspell-he myspell-hu myspell-hy myspell-nb myspell-nn myspell-sk myspell-sq myspell-tl myspell-uk poppler-data psmisc publicsuffix python3-matplotlib python3-olefile python3-webob python3-yaml qt5-qmake qt6-gtk-platformtheme qt6-translations-l10n udev x11-utils x11-xserver-utils xdg-user-dirs 0 packages upgraded, 419 newly installed, 0 to remove and 0 not upgraded. Need to get 280 MB of archives. After unpacking 1381 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main arm64 libpython3.11-minimal arm64 3.11.9-1 [813 kB] Get: 2 http://deb.debian.org/debian unstable/main arm64 libexpat1 arm64 2.6.2-1 [88.7 kB] Get: 3 http://deb.debian.org/debian unstable/main arm64 python3.11-minimal arm64 3.11.9-1 [1767 kB] Get: 4 http://deb.debian.org/debian unstable/main arm64 python3-minimal arm64 3.11.8-1 [26.3 kB] Get: 5 http://deb.debian.org/debian unstable/main arm64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian unstable/main arm64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main arm64 tzdata all 2024a-4 [255 kB] Get: 8 http://deb.debian.org/debian unstable/main arm64 readline-common all 8.2-4 [69.3 kB] Get: 9 http://deb.debian.org/debian unstable/main arm64 libreadline8t64 arm64 8.2-4 [157 kB] Get: 10 http://deb.debian.org/debian unstable/main arm64 libpython3.11-stdlib arm64 3.11.9-1 [1775 kB] Get: 11 http://deb.debian.org/debian unstable/main arm64 python3.11 arm64 3.11.9-1 [602 kB] Get: 12 http://deb.debian.org/debian unstable/main arm64 libpython3-stdlib arm64 3.11.8-1 [9332 B] Get: 13 http://deb.debian.org/debian unstable/main arm64 python3 arm64 3.11.8-1 [27.4 kB] Get: 14 http://deb.debian.org/debian unstable/main arm64 libproc2-0 arm64 2:4.0.4-4 [61.7 kB] Get: 15 http://deb.debian.org/debian unstable/main arm64 procps arm64 2:4.0.4-4 [869 kB] Get: 16 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.22 [22.4 kB] Get: 17 http://deb.debian.org/debian unstable/main arm64 openssl arm64 3.2.1-3 [1324 kB] Get: 18 http://deb.debian.org/debian unstable/main arm64 ca-certificates all 20240203 [158 kB] Get: 19 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3 [314 kB] Get: 20 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3 [100 kB] Get: 21 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3 [43.0 kB] Get: 22 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.21-14+b1 [160 kB] Get: 23 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b1 [69.0 kB] Get: 24 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-4 [1130 kB] Get: 25 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40-8 [93.0 kB] Get: 26 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.7-2 [36.5 kB] Get: 27 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.12.1-1 [1394 kB] Get: 28 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-4 [277 kB] Get: 29 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.71-3 [332 kB] Get: 30 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 31 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 32 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.21-14 [496 kB] Get: 33 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-4+b1 [9224 kB] Get: 34 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.9.14+dfsg-1.3+b3 [624 kB] Get: 35 http://deb.debian.org/debian unstable/main arm64 libarchive13t64 arm64 3.7.2-2 [321 kB] Get: 36 http://deb.debian.org/debian unstable/main arm64 libbrotli1 arm64 1.1.0-2+b3 [295 kB] Get: 37 http://deb.debian.org/debian unstable/main arm64 libkrb5support0 arm64 1.20.1-6+b1 [33.0 kB] Get: 38 http://deb.debian.org/debian unstable/main arm64 libcom-err2 arm64 1.47.1~rc2-1 [22.5 kB] Get: 39 http://deb.debian.org/debian unstable/main arm64 libk5crypto3 arm64 1.20.1-6+b1 [80.5 kB] Get: 40 http://deb.debian.org/debian unstable/main arm64 libkeyutils1 arm64 1.6.3-3 [9112 B] Get: 41 http://deb.debian.org/debian unstable/main arm64 libkrb5-3 arm64 1.20.1-6+b1 [315 kB] Get: 42 http://deb.debian.org/debian unstable/main arm64 libgssapi-krb5-2 arm64 1.20.1-6+b1 [124 kB] Get: 43 http://deb.debian.org/debian unstable/main arm64 libsasl2-modules-db arm64 2.1.28+dfsg1-6 [20.1 kB] Get: 44 http://deb.debian.org/debian unstable/main arm64 libsasl2-2 arm64 2.1.28+dfsg1-6 [55.3 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 libldap-2.5-0 arm64 2.5.17+dfsg-1 [173 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 libnghttp2-14 arm64 1.61.0-1+b1 [71.0 kB] Get: 47 http://deb.debian.org/debian unstable/main arm64 libpsl5t64 arm64 0.21.2-1.1 [56.8 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-2+b4 [56.7 kB] Get: 49 http://deb.debian.org/debian unstable/main arm64 libssh2-1t64 arm64 1.11.0-4.1+b2 [207 kB] Get: 50 http://deb.debian.org/debian unstable/main arm64 libcurl4t64 arm64 8.7.1-5 [412 kB] Get: 51 http://deb.debian.org/debian unstable/main arm64 libjsoncpp25 arm64 1.9.5-6+b2 [73.2 kB] Get: 52 http://deb.debian.org/debian unstable/main arm64 librhash0 arm64 1.4.3-3+b1 [127 kB] Get: 53 http://deb.debian.org/debian unstable/main arm64 libuv1t64 arm64 1.48.0-1.1 [142 kB] Get: 54 http://deb.debian.org/debian unstable/main arm64 cmake-data all 3.29.2-2 [2167 kB] Get: 55 http://deb.debian.org/debian unstable/main arm64 cmake arm64 3.29.2-2 [9059 kB] Get: 56 http://deb.debian.org/debian unstable/main arm64 curl arm64 8.7.1-5 [338 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.15.3 [88.0 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 libtool all 2.4.7-7 [517 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 60 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 61 http://deb.debian.org/debian unstable/main arm64 libsub-override-perl all 0.10-1 [10.6 kB] Get: 62 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 63 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 64 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.191-1+b1 [187 kB] Get: 65 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 66 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.21-14+b1 [1249 kB] Get: 67 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 68 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 69 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.15.3 [901 kB] Get: 70 http://deb.debian.org/debian unstable/main arm64 dh-buildinfo all 0.11+nmu3 [17.1 kB] Get: 71 http://deb.debian.org/debian unstable/main arm64 python3-pkg-resources all 68.1.2-2 [241 kB] Get: 72 http://deb.debian.org/debian unstable/main arm64 python3-lib2to3 all 3.12.3-1 [77.6 kB] Get: 73 http://deb.debian.org/debian unstable/main arm64 python3-distutils all 3.12.3-1 [131 kB] Get: 74 http://deb.debian.org/debian unstable/main arm64 python3-setuptools all 68.1.2-2 [468 kB] Get: 75 http://deb.debian.org/debian unstable/main arm64 dh-python all 6.20240422 [107 kB] Get: 76 http://deb.debian.org/debian unstable/main arm64 libpng16-16t64 arm64 1.6.43-5 [272 kB] Get: 77 http://deb.debian.org/debian unstable/main arm64 libfreetype6 arm64 2.13.2+dfsg-1+b4 [408 kB] Get: 78 http://deb.debian.org/debian unstable/main arm64 fonts-liberation all 1:2.1.5-3 [1475 kB] Get: 79 http://deb.debian.org/debian unstable/main arm64 fontconfig-config arm64 2.15.0-1.1 [317 kB] Get: 80 http://deb.debian.org/debian unstable/main arm64 libfontconfig1 arm64 2.15.0-1.1 [385 kB] Get: 81 http://deb.debian.org/debian unstable/main arm64 fontconfig arm64 2.15.0-1.1 [462 kB] Get: 82 http://deb.debian.org/debian unstable/main arm64 libglib2.0-0t64 arm64 2.78.4-7 [1364 kB] Get: 83 http://deb.debian.org/debian unstable/main arm64 gir1.2-glib-2.0 arm64 1.78.1-19 [164 kB] Get: 84 http://deb.debian.org/debian unstable/main arm64 gir1.2-glib-2.0-dev arm64 1.78.1-19 [850 kB] Get: 85 http://deb.debian.org/debian unstable/main arm64 libgudev-1.0-0 arm64 238-5 [13.6 kB] Get: 86 http://deb.debian.org/debian unstable/main arm64 gir1.2-gudev-1.0 arm64 238-5 [5120 B] Get: 87 http://deb.debian.org/debian unstable/main arm64 icu-devtools arm64 72.1-4+b1 [194 kB] Get: 88 http://deb.debian.org/debian unstable/main arm64 libavahi-common-data arm64 0.8-13+b2 [112 kB] Get: 89 http://deb.debian.org/debian unstable/main arm64 libavahi-common3 arm64 0.8-13+b2 [42.4 kB] Get: 90 http://deb.debian.org/debian unstable/main arm64 libdbus-1-3 arm64 1.14.10-4+b1 [195 kB] Get: 91 http://deb.debian.org/debian unstable/main arm64 libavahi-client3 arm64 0.8-13+b2 [45.7 kB] Get: 92 http://deb.debian.org/debian unstable/main arm64 libb2-1 arm64 0.98.1-1.1+b1 [15.9 kB] Get: 93 http://deb.debian.org/debian unstable/main arm64 libblas3 arm64 3.12.0-3 [91.7 kB] Get: 94 http://deb.debian.org/debian unstable/main arm64 uuid-dev arm64 2.40-8 [44.4 kB] Get: 95 http://deb.debian.org/debian unstable/main arm64 libblkid-dev arm64 2.40-8 [204 kB] Get: 96 http://deb.debian.org/debian unstable/main arm64 libboost1.83-dev arm64 1.83.0-2.1+b1 [10.6 MB] Get: 97 http://deb.debian.org/debian unstable/main arm64 libboost-dev arm64 1.83.0.2+b2 [3828 B] Get: 98 http://deb.debian.org/debian unstable/main arm64 libbrotli-dev arm64 1.1.0-2+b3 [308 kB] Get: 99 http://deb.debian.org/debian unstable/main arm64 libbsd0 arm64 0.12.2-1 [129 kB] Get: 100 http://deb.debian.org/debian unstable/main arm64 libbz2-dev arm64 1.0.8-5.1 [31.8 kB] Get: 101 http://deb.debian.org/debian unstable/main arm64 libpixman-1-0 arm64 0.42.2-1+b1 [477 kB] Get: 102 http://deb.debian.org/debian unstable/main arm64 libxau6 arm64 1:1.0.9-1+b1 [18.1 kB] Get: 103 http://deb.debian.org/debian unstable/main arm64 libxdmcp6 arm64 1:1.1.2-3+b1 [24.3 kB] Get: 104 http://deb.debian.org/debian unstable/main arm64 libxcb1 arm64 1.17.0-1 [143 kB] Get: 105 http://deb.debian.org/debian unstable/main arm64 libx11-data all 2:1.8.7-1 [328 kB] Get: 106 http://deb.debian.org/debian unstable/main arm64 libx11-6 arm64 2:1.8.7-1+b1 [775 kB] Get: 107 http://deb.debian.org/debian unstable/main arm64 libxcb-render0 arm64 1.17.0-1 [114 kB] Get: 108 http://deb.debian.org/debian unstable/main arm64 libxcb-shm0 arm64 1.17.0-1 [105 kB] Get: 109 http://deb.debian.org/debian unstable/main arm64 libxext6 arm64 2:1.3.4-1+b1 [51.7 kB] Get: 110 http://deb.debian.org/debian unstable/main arm64 libxrender1 arm64 1:0.9.10-1.1+b1 [27.0 kB] Get: 111 http://deb.debian.org/debian unstable/main arm64 libcairo2 arm64 1.18.0-3+b1 [478 kB] Get: 112 http://deb.debian.org/debian unstable/main arm64 libcairo-gobject2 arm64 1.18.0-3+b1 [129 kB] Get: 113 http://deb.debian.org/debian unstable/main arm64 libchm1 arm64 2:0.40a-8+b1 [19.2 kB] Get: 114 http://deb.debian.org/debian unstable/main arm64 libchm-dev arm64 2:0.40a-8+b1 [12.9 kB] Get: 115 http://deb.debian.org/debian unstable/main arm64 libcups2t64 arm64 2.4.7-1.2+b1 [230 kB] Get: 116 http://deb.debian.org/debian unstable/main arm64 libcurl3t64-gnutls arm64 8.7.1-5 [405 kB] Get: 117 http://deb.debian.org/debian unstable/main arm64 libdatrie1 arm64 0.2.13-3 [37.2 kB] Get: 118 http://deb.debian.org/debian unstable/main arm64 libdeflate0 arm64 1.20-1 [41.5 kB] Get: 119 http://deb.debian.org/debian unstable/main arm64 libdouble-conversion3 arm64 3.3.0-1+b1 [37.0 kB] Get: 120 http://deb.debian.org/debian unstable/main arm64 libdrm-common all 2.4.120-2 [7688 B] Get: 121 http://deb.debian.org/debian unstable/main arm64 libdrm2 arm64 2.4.120-2 [37.5 kB] Get: 122 http://deb.debian.org/debian unstable/main arm64 libdrm-amdgpu1 arm64 2.4.120-2 [21.0 kB] Get: 123 http://deb.debian.org/debian unstable/main arm64 libdrm-nouveau2 arm64 2.4.120-2 [18.7 kB] Get: 124 http://deb.debian.org/debian unstable/main arm64 libdrm-radeon1 arm64 2.4.120-2 [21.1 kB] Get: 125 http://deb.debian.org/debian unstable/main arm64 libduktape207 arm64 2.7.0-2+b1 [125 kB] Get: 126 http://deb.debian.org/debian unstable/main arm64 libedit2 arm64 3.1-20230828-1+b1 [89.1 kB] Get: 127 http://deb.debian.org/debian unstable/main arm64 libglvnd0 arm64 1.7.0-1+b1 [41.7 kB] Get: 128 http://deb.debian.org/debian unstable/main arm64 libwayland-server0 arm64 1.22.0-2.1+b1 [32.3 kB] Get: 129 http://deb.debian.org/debian unstable/main arm64 libxcb-randr0 arm64 1.17.0-1 [116 kB] Get: 130 http://deb.debian.org/debian unstable/main arm64 libgbm1 arm64 24.0.6-1+b1 [40.5 kB] Get: 131 http://deb.debian.org/debian unstable/main arm64 libglapi-mesa arm64 24.0.6-1+b1 [46.8 kB] Get: 132 http://deb.debian.org/debian unstable/main arm64 libwayland-client0 arm64 1.22.0-2.1+b1 [24.8 kB] Get: 133 http://deb.debian.org/debian unstable/main arm64 libx11-xcb1 arm64 2:1.8.7-1+b1 [232 kB] Get: 134 http://deb.debian.org/debian unstable/main arm64 libxcb-dri2-0 arm64 1.17.0-1 [106 kB] Get: 135 http://deb.debian.org/debian unstable/main arm64 libxcb-dri3-0 arm64 1.17.0-1 [106 kB] Get: 136 http://deb.debian.org/debian unstable/main arm64 libxcb-present0 arm64 1.17.0-1 [105 kB] Get: 137 http://deb.debian.org/debian unstable/main arm64 libxcb-sync1 arm64 1.17.0-1 [108 kB] Get: 138 http://deb.debian.org/debian unstable/main arm64 libxcb-xfixes0 arm64 1.17.0-1 [109 kB] Get: 139 http://deb.debian.org/debian unstable/main arm64 libxshmfence1 arm64 1.3-1+b1 [9080 B] Get: 140 http://deb.debian.org/debian unstable/main arm64 libegl-mesa0 arm64 24.0.6-1+b1 [112 kB] Get: 141 http://deb.debian.org/debian unstable/main arm64 libegl1 arm64 1.7.0-1+b1 [33.9 kB] Get: 142 http://deb.debian.org/debian unstable/main arm64 libxcb-glx0 arm64 1.17.0-1 [122 kB] Get: 143 http://deb.debian.org/debian unstable/main arm64 libxfixes3 arm64 1:6.0.0-2+b1 [20.5 kB] Get: 144 http://deb.debian.org/debian unstable/main arm64 libxxf86vm1 arm64 1:1.1.4-1+b2 [20.1 kB] Get: 145 http://deb.debian.org/debian unstable/main arm64 libvulkan1 arm64 1.3.280.0-1 [119 kB] Get: 146 http://deb.debian.org/debian unstable/main arm64 libz3-4 arm64 4.8.12-3.1+b2 [6508 kB] Get: 147 http://deb.debian.org/debian unstable/main arm64 libllvm17t64 arm64 1:17.0.6-11 [21.3 MB] Get: 148 http://deb.debian.org/debian unstable/main arm64 libsensors-config all 1:3.6.0-9 [14.6 kB] Get: 149 http://deb.debian.org/debian unstable/main arm64 libsensors5 arm64 1:3.6.0-9 [33.9 kB] Get: 150 http://deb.debian.org/debian unstable/main arm64 libgl1-mesa-dri arm64 24.0.6-1+b1 [7020 kB] Get: 151 http://deb.debian.org/debian unstable/main arm64 libglx-mesa0 arm64 24.0.6-1+b1 [150 kB] Get: 152 http://deb.debian.org/debian unstable/main arm64 libglx0 arm64 1.7.0-1+b1 [31.0 kB] Get: 153 http://deb.debian.org/debian unstable/main arm64 libgl1 arm64 1.7.0-1+b1 [90.9 kB] Get: 154 http://deb.debian.org/debian unstable/main arm64 xorg-sgml-doctools all 1:1.11-1.1 [22.1 kB] Get: 155 http://deb.debian.org/debian unstable/main arm64 x11proto-dev all 2024.1-1 [603 kB] Get: 156 http://deb.debian.org/debian unstable/main arm64 libxau-dev arm64 1:1.0.9-1+b1 [21.5 kB] Get: 157 http://deb.debian.org/debian unstable/main arm64 libxdmcp-dev arm64 1:1.1.2-3+b1 [40.6 kB] Get: 158 http://deb.debian.org/debian unstable/main arm64 xtrans-dev all 1.4.0-1 [98.7 kB] Get: 159 http://deb.debian.org/debian unstable/main arm64 libpthread-stubs0-dev arm64 0.4-1+b1 [5324 B] Get: 160 http://deb.debian.org/debian unstable/main arm64 libxcb1-dev arm64 1.17.0-1 [182 kB] Get: 161 http://deb.debian.org/debian unstable/main arm64 libx11-dev arm64 2:1.8.7-1+b1 [861 kB] Get: 162 http://deb.debian.org/debian unstable/main arm64 libglx-dev arm64 1.7.0-1+b1 [15.8 kB] Get: 163 http://deb.debian.org/debian unstable/main arm64 libgl-dev arm64 1.7.0-1+b1 [101 kB] Get: 164 http://deb.debian.org/debian unstable/main arm64 libegl-dev arm64 1.7.0-1+b1 [19.5 kB] Get: 165 http://deb.debian.org/debian unstable/main arm64 libevdev2 arm64 1.13.1+dfsg-1+b1 [31.0 kB] Get: 166 http://deb.debian.org/debian unstable/main arm64 libevdev-dev arm64 1.13.1+dfsg-1+b1 [49.8 kB] Get: 167 http://deb.debian.org/debian unstable/main arm64 libevent-2.1-7t64 arm64 2.1.12-stable-8.1+b3 [169 kB] Get: 168 http://deb.debian.org/debian unstable/main arm64 libexpat1-dev arm64 2.6.2-1 [278 kB] Get: 169 http://deb.debian.org/debian unstable/main arm64 libffi-dev arm64 3.4.6-1 [57.0 kB] Get: 170 http://deb.debian.org/debian unstable/main arm64 zlib1g-dev arm64 1:1.3.dfsg-3.1 [915 kB] Get: 171 http://deb.debian.org/debian unstable/main arm64 libpng-dev arm64 1.6.43-5 [356 kB] Get: 172 http://deb.debian.org/debian unstable/main arm64 libfreetype-dev arm64 2.13.2+dfsg-1+b4 [585 kB] Get: 173 http://deb.debian.org/debian unstable/main arm64 libpkgconf3 arm64 1.8.1-1+b2 [35.3 kB] Get: 174 http://deb.debian.org/debian unstable/main arm64 pkgconf-bin arm64 1.8.1-1+b2 [29.3 kB] Get: 175 http://deb.debian.org/debian unstable/main arm64 pkgconf arm64 1.8.1-1+b2 [26.2 kB] Get: 176 http://deb.debian.org/debian unstable/main arm64 libfontconfig-dev arm64 2.15.0-1.1 [410 kB] Get: 177 http://deb.debian.org/debian unstable/main arm64 libfribidi0 arm64 1.0.13-3+b1 [71.3 kB] Get: 178 http://deb.debian.org/debian unstable/main arm64 libgdk-pixbuf2.0-common all 2.42.10+dfsg-3 [307 kB] Get: 179 http://deb.debian.org/debian unstable/main arm64 shared-mime-info arm64 2.4-4 [755 kB] Get: 180 http://deb.debian.org/debian unstable/main arm64 libjpeg62-turbo arm64 1:2.1.5-3 [172 kB] Get: 181 http://deb.debian.org/debian unstable/main arm64 libjbig0 arm64 2.1-6.1+b1 [30.4 kB] Get: 182 http://deb.debian.org/debian unstable/main arm64 liblerc4 arm64 4.0.0+ds-4+b1 [142 kB] Get: 183 http://deb.debian.org/debian unstable/main arm64 libsharpyuv0 arm64 1.3.2-0.4+b1 [107 kB] Get: 184 http://deb.debian.org/debian unstable/main arm64 libwebp7 arm64 1.3.2-0.4+b1 [263 kB] Get: 185 http://deb.debian.org/debian unstable/main arm64 libtiff6 arm64 4.5.1+git230720-4 [307 kB] Get: 186 http://deb.debian.org/debian unstable/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.10+dfsg-3+b3 [130 kB] Get: 187 http://deb.debian.org/debian unstable/main arm64 libgfortran5 arm64 14-20240429-1 [361 kB] Get: 188 http://deb.debian.org/debian unstable/main arm64 libgif7 arm64 5.2.2-1 [43.7 kB] Get: 189 http://deb.debian.org/debian unstable/main arm64 libglib2.0-data all 2.78.4-7 [1225 kB] Get: 190 http://deb.debian.org/debian unstable/main arm64 libglib2.0-bin arm64 2.78.4-7 [113 kB] Get: 191 http://deb.debian.org/debian unstable/main arm64 python3-packaging all 24.0-1 [45.5 kB] Get: 192 http://deb.debian.org/debian unstable/main arm64 libglib2.0-dev-bin arm64 2.78.4-7 [157 kB] Get: 193 http://deb.debian.org/debian unstable/main arm64 libsepol-dev arm64 3.5-2+b1 [335 kB] Get: 194 http://deb.debian.org/debian unstable/main arm64 libpcre2-16-0 arm64 10.42-4+b1 [217 kB] Get: 195 http://deb.debian.org/debian unstable/main arm64 libpcre2-32-0 arm64 10.42-4+b1 [207 kB] Get: 196 http://deb.debian.org/debian unstable/main arm64 libpcre2-posix3 arm64 10.42-4+b1 [55.8 kB] Get: 197 http://deb.debian.org/debian unstable/main arm64 libpcre2-dev arm64 10.42-4+b1 [669 kB] Get: 198 http://deb.debian.org/debian unstable/main arm64 libselinux1-dev arm64 3.5-2+b2 [161 kB] Get: 199 http://deb.debian.org/debian unstable/main arm64 libmount-dev arm64 2.40-8 [25.9 kB] Get: 200 http://deb.debian.org/debian unstable/main arm64 libglib2.0-dev arm64 2.78.4-7 [1662 kB] Get: 201 http://deb.debian.org/debian unstable/main arm64 libxi6 arm64 2:1.8.1-1 [77.5 kB] Get: 202 http://deb.debian.org/debian unstable/main arm64 libglut3.12 arm64 3.4.0-1+b1 [133 kB] Get: 203 http://deb.debian.org/debian unstable/main arm64 libgraphite2-3 arm64 1.3.14-2 [69.2 kB] Get: 204 http://deb.debian.org/debian unstable/main arm64 libudev-dev arm64 255.5-1 [61.7 kB] Get: 205 http://deb.debian.org/debian unstable/main arm64 libgudev-1.0-dev arm64 238-5 [29.1 kB] Get: 206 http://deb.debian.org/debian unstable/main arm64 libharfbuzz0b arm64 8.3.0-2+b1 [2178 kB] Get: 207 http://deb.debian.org/debian unstable/main arm64 libharfbuzz-subset0 arm64 8.3.0-2+b1 [2205 kB] Get: 208 http://deb.debian.org/debian unstable/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10+b2 [212 kB] Get: 209 http://deb.debian.org/debian unstable/main arm64 libhunspell-dev arm64 1.7.2+really1.7.2-10+b2 [266 kB] Get: 210 http://deb.debian.org/debian unstable/main arm64 libhyphen0 arm64 2.8.8-7+b1 [30.3 kB] Get: 211 http://deb.debian.org/debian unstable/main arm64 libhyphen-dev arm64 2.8.8-7+b1 [189 kB] Get: 212 http://deb.debian.org/debian unstable/main arm64 x11-common all 1:7.7+23 [252 kB] Get: 213 http://deb.debian.org/debian unstable/main arm64 libice6 arm64 2:1.0.10-1+b1 [53.7 kB] Get: 214 http://deb.debian.org/debian unstable/main arm64 libicu-dev arm64 72.1-4+b1 [10.2 MB] Get: 215 http://deb.debian.org/debian unstable/main arm64 libidn12 arm64 1.42-2 [79.2 kB] Get: 216 http://deb.debian.org/debian unstable/main arm64 libimagequant0 arm64 2.18.0-1+b1 [34.6 kB] Get: 217 http://deb.debian.org/debian unstable/main arm64 libwacom-common all 2.10.0-2 [62.5 kB] Get: 218 http://deb.debian.org/debian unstable/main arm64 libwacom9 arm64 2.10.0-2 [21.5 kB] Get: 219 http://deb.debian.org/debian unstable/main arm64 libinput-bin arm64 1.25.0-1+b2 [24.8 kB] Get: 220 http://deb.debian.org/debian unstable/main arm64 libmtdev1t64 arm64 1.1.6-1.2 [21.9 kB] Get: 221 http://deb.debian.org/debian unstable/main arm64 libinput10 arm64 1.25.0-1+b2 [116 kB] Get: 222 http://deb.debian.org/debian unstable/main arm64 libmtdev-dev arm64 1.1.6-1.2 [14.6 kB] Get: 223 http://deb.debian.org/debian unstable/main arm64 libwacom-dev arm64 2.10.0-2 [9444 B] Get: 224 http://deb.debian.org/debian unstable/main arm64 libinput-dev arm64 1.25.0-1+b2 [34.3 kB] Get: 225 http://deb.debian.org/debian unstable/main arm64 libturbojpeg0 arm64 1:2.1.5-3 [210 kB] Get: 226 http://deb.debian.org/debian unstable/main arm64 libjpeg-turbo-progs arm64 1:2.1.5-3 [140 kB] Get: 227 http://deb.debian.org/debian unstable/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 228 http://deb.debian.org/debian unstable/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 229 http://deb.debian.org/debian unstable/main arm64 libjs-sphinxdoc all 7.2.6-6 [150 kB] Get: 230 http://deb.debian.org/debian unstable/main arm64 libjxr0t64 arm64 1.2~git20170615.f752187-5.2 [156 kB] Get: 231 http://deb.debian.org/debian unstable/main arm64 libjxr-tools arm64 1.2~git20170615.f752187-5.2 [17.0 kB] Get: 232 http://deb.debian.org/debian unstable/main arm64 liblapack3 arm64 3.12.0-3 [1757 kB] Get: 233 http://deb.debian.org/debian unstable/main arm64 liblbfgsb0 arm64 3.0+dfsg.4-1+b1 [25.0 kB] Get: 234 http://deb.debian.org/debian unstable/main arm64 liblcms2-2 arm64 2.14-2+b1 [144 kB] Get: 235 http://deb.debian.org/debian unstable/main arm64 libmd4c0 arm64 0.4.8-1+b1 [42.2 kB] Get: 236 http://deb.debian.org/debian unstable/main arm64 libminizip1t64 arm64 1:1.3.dfsg-3.1 [51.7 kB] Get: 237 http://deb.debian.org/debian unstable/main arm64 libmng1 arm64 1.0.10+dfsg-3.1+b5 [192 kB] Get: 238 http://deb.debian.org/debian unstable/main arm64 libmtp-common all 1.1.21-3.1 [46.4 kB] Get: 239 http://deb.debian.org/debian unstable/main arm64 libusb-1.0-0 arm64 2:1.0.27-1 [55.2 kB] Get: 240 http://deb.debian.org/debian unstable/main arm64 libmtp9t64 arm64 1.1.21-3.1 [195 kB] Get: 241 http://deb.debian.org/debian unstable/main arm64 libusb-1.0-0-dev arm64 2:1.0.27-1 [79.5 kB] Get: 242 http://deb.debian.org/debian unstable/main arm64 libmtp-dev arm64 1.1.21-3.1 [39.9 kB] Get: 243 http://deb.debian.org/debian unstable/main arm64 libnspr4 arm64 2:4.35-1.1+b1 [101 kB] Get: 244 http://deb.debian.org/debian unstable/main arm64 libnss3 arm64 2:3.99-1 [1293 kB] Get: 245 http://deb.debian.org/debian unstable/main arm64 libopengl0 arm64 1.7.0-1+b1 [32.1 kB] Get: 246 http://deb.debian.org/debian unstable/main arm64 libopengl-dev arm64 1.7.0-1+b1 [5372 B] Get: 247 http://deb.debian.org/debian unstable/main arm64 libopenjp2-7 arm64 2.5.0-2+b3 [177 kB] Get: 248 http://deb.debian.org/debian unstable/main arm64 libopus0 arm64 1.4-1+b1 [180 kB] Get: 249 http://deb.debian.org/debian unstable/main arm64 libthai-data all 0.1.29-2 [168 kB] Get: 250 http://deb.debian.org/debian unstable/main arm64 libthai0 arm64 0.1.29-2 [48.0 kB] Get: 251 http://deb.debian.org/debian unstable/main arm64 libpango-1.0-0 arm64 1.52.2+ds-1 [206 kB] Get: 252 http://deb.debian.org/debian unstable/main arm64 libpangoft2-1.0-0 arm64 1.52.2+ds-1 [45.5 kB] Get: 253 http://deb.debian.org/debian unstable/main arm64 libpangocairo-1.0-0 arm64 1.52.2+ds-1 [33.0 kB] Get: 254 http://deb.debian.org/debian unstable/main arm64 libpodofo0.9.8t64 arm64 0.9.8+dfsg-3.1+b2 [463 kB] Get: 255 http://deb.debian.org/debian unstable/main arm64 libssl-dev arm64 3.2.1-3 [3089 kB] Get: 256 http://deb.debian.org/debian unstable/main arm64 libpodofo-dev arm64 0.9.8+dfsg-3.1+b2 [161 kB] Get: 257 http://deb.debian.org/debian unstable/main arm64 libpoppler126t64 arm64 22.12.0-2.2+b1 [1762 kB] Get: 258 http://deb.debian.org/debian unstable/main arm64 libproxy1v5 arm64 0.5.6-1 [29.3 kB] Get: 259 http://deb.debian.org/debian unstable/main arm64 libpython3.11t64 arm64 3.11.9-1 [1814 kB] Get: 260 http://deb.debian.org/debian unstable/main arm64 libpython3.11-dev arm64 3.11.9-1 [4358 kB] Get: 261 http://deb.debian.org/debian unstable/main arm64 libpython3-dev arm64 3.11.8-1 [9564 B] Get: 262 http://deb.debian.org/debian unstable/main arm64 libqt6core6t64 arm64 6.4.2+dfsg-21.1+b1 [1501 kB] Get: 263 http://deb.debian.org/debian unstable/main arm64 libqt6concurrent6t64 arm64 6.4.2+dfsg-21.1+b1 [38.6 kB] Get: 264 http://deb.debian.org/debian unstable/main arm64 libqt6dbus6t64 arm64 6.4.2+dfsg-21.1+b1 [234 kB] Get: 265 http://deb.debian.org/debian unstable/main arm64 libsm6 arm64 2:1.2.3-1+b1 [32.7 kB] Get: 266 http://deb.debian.org/debian unstable/main arm64 libts0t64 arm64 1.22-1.1 [61.1 kB] Get: 267 http://deb.debian.org/debian unstable/main arm64 libxcb-icccm4 arm64 0.4.1-1.1+b1 [26.5 kB] Get: 268 http://deb.debian.org/debian unstable/main arm64 libxcb-util1 arm64 0.4.0-1+b1 [23.2 kB] Get: 269 http://deb.debian.org/debian unstable/main arm64 libxcb-image0 arm64 0.4.0-2+b1 [22.0 kB] Get: 270 http://deb.debian.org/debian unstable/main arm64 libxcb-keysyms1 arm64 0.4.0-1+b2 [16.0 kB] Get: 271 http://deb.debian.org/debian unstable/main arm64 libxcb-render-util0 arm64 0.3.9-1+b1 [17.5 kB] Get: 272 http://deb.debian.org/debian unstable/main arm64 libxcb-shape0 arm64 1.17.0-1 [105 kB] Get: 273 http://deb.debian.org/debian unstable/main arm64 libxcb-xkb1 arm64 1.17.0-1 [128 kB] Get: 274 http://deb.debian.org/debian unstable/main arm64 xkb-data all 2.41-2 [795 kB] Get: 275 http://deb.debian.org/debian unstable/main arm64 libxkbcommon0 arm64 1.6.0-1+b1 [103 kB] Get: 276 http://deb.debian.org/debian unstable/main arm64 libxkbcommon-x11-0 arm64 1.6.0-1+b1 [15.4 kB] Get: 277 http://deb.debian.org/debian unstable/main arm64 libqt6gui6t64 arm64 6.4.2+dfsg-21.1+b1 [2608 kB] Get: 278 http://deb.debian.org/debian unstable/main arm64 libqt6network6t64 arm64 6.4.2+dfsg-21.1+b1 [646 kB] Get: 279 http://deb.debian.org/debian unstable/main arm64 libqt6opengl6t64 arm64 6.4.2+dfsg-21.1+b1 [369 kB] Get: 280 http://deb.debian.org/debian unstable/main arm64 libqt6widgets6t64 arm64 6.4.2+dfsg-21.1+b1 [2324 kB] Get: 281 http://deb.debian.org/debian unstable/main arm64 libqt6openglwidgets6t64 arm64 6.4.2+dfsg-21.1+b1 [44.5 kB] Get: 282 http://deb.debian.org/debian unstable/main arm64 libqt6positioning6 arm64 6.4.2-3+b2 [169 kB] Get: 283 http://deb.debian.org/debian unstable/main arm64 libqt6printsupport6t64 arm64 6.4.2+dfsg-21.1+b1 [202 kB] Get: 284 http://deb.debian.org/debian unstable/main arm64 libqt6qml6 arm64 6.4.2+dfsg-4+b2 [1383 kB] Get: 285 http://deb.debian.org/debian unstable/main arm64 libqt6qmlmodels6 arm64 6.4.2+dfsg-4+b2 [234 kB] Get: 286 http://deb.debian.org/debian unstable/main arm64 libqt6quick6 arm64 6.4.2+dfsg-4+b2 [1723 kB] Get: 287 http://deb.debian.org/debian unstable/main arm64 libqt6quickwidgets6 arm64 6.4.2+dfsg-4+b2 [42.6 kB] Get: 288 http://deb.debian.org/debian unstable/main arm64 libqt6sql6t64 arm64 6.4.2+dfsg-21.1+b1 [129 kB] Get: 289 http://deb.debian.org/debian unstable/main arm64 libqt6svg6 arm64 6.4.2-4+b2 [133 kB] Get: 290 http://deb.debian.org/debian unstable/main arm64 libqt6svgwidgets6 arm64 6.4.2-4+b2 [17.4 kB] Get: 291 http://deb.debian.org/debian unstable/main arm64 libqt6test6t64 arm64 6.4.2+dfsg-21.1+b1 [149 kB] Get: 292 http://deb.debian.org/debian unstable/main arm64 libwayland-cursor0 arm64 1.22.0-2.1+b1 [11.1 kB] Get: 293 http://deb.debian.org/debian unstable/main arm64 libqt6waylandclient6 arm64 6.4.2-5+b2 [222 kB] Get: 294 http://deb.debian.org/debian unstable/main arm64 libqt6waylandcompositor6 arm64 6.4.2-5+b2 [379 kB] Get: 295 http://deb.debian.org/debian unstable/main arm64 libwayland-egl1 arm64 1.22.0-2.1+b1 [5704 B] Get: 296 http://deb.debian.org/debian unstable/main arm64 libqt6waylandeglclienthwintegration6 arm64 6.4.2-5+b2 [19.5 kB] Get: 297 http://deb.debian.org/debian unstable/main arm64 libqt6waylandeglcompositorhwintegration6 arm64 6.4.2-5+b2 [15.8 kB] Get: 298 http://deb.debian.org/debian unstable/main arm64 libqt6webchannel6 arm64 6.4.2-3+b2 [89.1 kB] Get: 299 http://deb.debian.org/debian unstable/main arm64 libqt6webengine6-data all 6.4.2-final+dfsg-14 [14.0 MB] Get: 300 http://deb.debian.org/debian unstable/main arm64 libsnappy1v5 arm64 1.2.0-2 [28.3 kB] Get: 301 http://deb.debian.org/debian unstable/main arm64 libvpx8 arm64 1.13.1-2+b1 [974 kB] Get: 302 http://deb.debian.org/debian unstable/main arm64 libwebpdemux2 arm64 1.3.2-0.4+b1 [107 kB] Get: 303 http://deb.debian.org/debian unstable/main arm64 libwebpmux3 arm64 1.3.2-0.4+b1 [119 kB] Get: 304 http://deb.debian.org/debian unstable/main arm64 libxcomposite1 arm64 1:0.4.5-1+b1 [15.0 kB] Get: 305 http://deb.debian.org/debian unstable/main arm64 libxdamage1 arm64 1:1.1.6-1+b1 [15.6 kB] Get: 306 http://deb.debian.org/debian unstable/main arm64 libxkbfile1 arm64 1:1.1.0-1+b1 [72.3 kB] Get: 307 http://deb.debian.org/debian unstable/main arm64 libxrandr2 arm64 2:1.5.4-1 [35.7 kB] Get: 308 http://deb.debian.org/debian unstable/main arm64 libxslt1.1 arm64 1.1.35-1+b1 [221 kB] Get: 309 http://deb.debian.org/debian unstable/main arm64 libxtst6 arm64 2:1.2.3-1.1+b1 [25.9 kB] Get: 310 http://deb.debian.org/debian unstable/main arm64 libqt6webenginecore6 arm64 6.4.2-final+dfsg-14 [41.0 MB] Get: 311 http://deb.debian.org/debian unstable/main arm64 libqt6webenginecore6-bin arm64 6.4.2-final+dfsg-14 [40.7 kB] Get: 312 http://deb.debian.org/debian unstable/main arm64 libqt6webenginequick6 arm64 6.4.2-final+dfsg-14 [172 kB] Get: 313 http://deb.debian.org/debian unstable/main arm64 libqt6webenginewidgets6 arm64 6.4.2-final+dfsg-14 [71.7 kB] Get: 314 http://deb.debian.org/debian unstable/main arm64 libqt6wlshellintegration6 arm64 6.4.2-5+b2 [36.7 kB] Get: 315 http://deb.debian.org/debian unstable/main arm64 libqt6xml6t64 arm64 6.4.2+dfsg-21.1+b1 [76.7 kB] Get: 316 http://deb.debian.org/debian unstable/main arm64 libraqm0 arm64 0.10.1-1+b1 [13.7 kB] Get: 317 http://deb.debian.org/debian unstable/main arm64 librsvg2-2 arm64 2.58.0+dfsg-1 [1735 kB] Get: 318 http://deb.debian.org/debian unstable/main arm64 librsvg2-bin arm64 2.58.0+dfsg-1 [1864 kB] Get: 319 http://deb.debian.org/debian unstable/main arm64 libsqlite3-dev arm64 3.45.3-1 [1042 kB] Get: 320 http://deb.debian.org/debian unstable/main arm64 libstemmer0d arm64 2.2.0-4+b1 [112 kB] Get: 321 http://deb.debian.org/debian unstable/main arm64 libstemmer-dev arm64 2.2.0-4+b1 [135 kB] Get: 322 http://deb.debian.org/debian unstable/main arm64 uchardet arm64 0.0.8-1+b1 [6644 B] Get: 323 http://deb.debian.org/debian unstable/main arm64 libuchardet-dev arm64 0.0.8-1+b1 [82.2 kB] Get: 324 http://deb.debian.org/debian unstable/main arm64 libvulkan-dev arm64 1.3.280.0-1 [1348 kB] Get: 325 http://deb.debian.org/debian unstable/main arm64 libxkbcommon-dev arm64 1.6.0-1+b1 [52.9 kB] Get: 326 http://deb.debian.org/debian unstable/main arm64 optipng arm64 0.7.8+ds-1+b1 [107 kB] Get: 327 http://deb.debian.org/debian unstable/main arm64 poppler-utils arm64 22.12.0-2.2+b1 [179 kB] Get: 328 http://deb.debian.org/debian unstable/main arm64 pyqt6-dev all 6.6.1-2 [318 kB] Get: 329 http://deb.debian.org/debian unstable/main arm64 python3-pyqt6.sip arm64 13.6.0-1+b1 [70.6 kB] Get: 330 http://deb.debian.org/debian unstable/main arm64 python3-pyqt6 arm64 6.6.1-2+b1 [2297 kB] Get: 331 http://deb.debian.org/debian unstable/main arm64 pyqt6-dev-tools all 6.6.1-2 [69.5 kB] Get: 332 http://deb.debian.org/debian unstable/main arm64 python3-appdirs all 1.4.4-4 [12.5 kB] Get: 333 http://deb.debian.org/debian unstable/main arm64 python3-apsw arm64 3.45.3.0-1 [357 kB] Get: 334 http://deb.debian.org/debian unstable/main arm64 python3-six all 1.16.0-6 [16.3 kB] Get: 335 http://deb.debian.org/debian unstable/main arm64 python3-asttokens all 2.4.1-1 [20.6 kB] Get: 336 http://deb.debian.org/debian unstable/main arm64 python3-async-timeout all 4.0.3-1 [7660 B] Get: 337 http://deb.debian.org/debian unstable/main arm64 python3-attr all 23.2.0-2 [65.5 kB] Get: 338 http://deb.debian.org/debian unstable/main arm64 python3-brotli arm64 1.1.0-2+b3 [316 kB] Get: 339 http://deb.debian.org/debian unstable/main arm64 python3-soupsieve all 2.5-1 [38.1 kB] Get: 340 http://deb.debian.org/debian unstable/main arm64 python3-bs4 all 4.12.3-1 [133 kB] Get: 341 http://deb.debian.org/debian unstable/main arm64 python3-chardet all 5.2.0+dfsg-1 [107 kB] Get: 342 http://deb.debian.org/debian unstable/main arm64 python3-chm arm64 0.8.6+ds-1 [18.2 kB] Get: 343 http://deb.debian.org/debian unstable/main arm64 python3-css-parser all 1.0.10-1 [127 kB] Get: 344 http://deb.debian.org/debian unstable/main arm64 python3-cssselect all 1.2.0-4 [21.7 kB] Get: 345 http://deb.debian.org/debian unstable/main arm64 python3-dateutil all 2.9.0-2 [79.4 kB] Get: 346 http://deb.debian.org/debian unstable/main arm64 python3-decorator all 5.1.1-5 [15.1 kB] Get: 347 http://deb.debian.org/debian unstable/main arm64 python3.11-dev arm64 3.11.9-1 [501 kB] Get: 348 http://deb.debian.org/debian unstable/main arm64 python3-dev arm64 3.11.8-1 [26.1 kB] Get: 349 http://deb.debian.org/debian unstable/main arm64 python3-executing all 2.0.1-0.1 [22.7 kB] Get: 350 http://deb.debian.org/debian unstable/main arm64 python3-sgmllib3k all 1.0.0-4 [8484 B] Get: 351 http://deb.debian.org/debian unstable/main arm64 python3-feedparser all 6.0.11-1 [53.6 kB] Get: 352 http://deb.debian.org/debian unstable/main arm64 python3-numpy arm64 1:1.26.4+ds-8 [4219 kB] Get: 353 http://deb.debian.org/debian unstable/main arm64 python3-scipy arm64 1.11.4-6 [17.5 MB] Get: 354 http://deb.debian.org/debian unstable/main arm64 python3-ufolib2 all 0.16.0+dfsg1-1 [32.9 kB] Get: 355 http://deb.debian.org/debian unstable/main arm64 python3-mpmath all 1.3.0-1 [419 kB] Get: 356 http://deb.debian.org/debian unstable/main arm64 python3-sympy all 1.12-7 [3869 kB] Get: 357 http://deb.debian.org/debian unstable/main arm64 python3-tz all 2024.1-2 [30.9 kB] Get: 358 http://deb.debian.org/debian unstable/main arm64 python3-fs all 2.4.16-4 [95.4 kB] Get: 359 http://deb.debian.org/debian unstable/main arm64 python3-lxml arm64 5.2.1-1 [1767 kB] Get: 360 http://deb.debian.org/debian unstable/main arm64 python3-lz4 arm64 4.0.2+dfsg-1+b3 [26.6 kB] Get: 361 http://deb.debian.org/debian unstable/main arm64 python3-unicodedata2 arm64 15.1.0+ds-1+b1 [300 kB] Get: 362 http://deb.debian.org/debian unstable/main arm64 unicode-data all 15.1.0-1 [8547 kB] Get: 363 http://deb.debian.org/debian unstable/main arm64 python3-fonttools arm64 4.46.0-1 [1510 kB] Get: 364 http://deb.debian.org/debian unstable/main arm64 python3-html2text all 2024.2.26-1 [25.2 kB] Get: 365 http://deb.debian.org/debian unstable/main arm64 python3-html5-parser arm64 0.4.12+ds-1+b1 [133 kB] Get: 366 http://deb.debian.org/debian unstable/main arm64 python3-webencodings all 0.5.1-5 [11.1 kB] Get: 367 http://deb.debian.org/debian unstable/main arm64 python3-html5lib all 1.1-6 [90.5 kB] Get: 368 http://deb.debian.org/debian unstable/main arm64 python3-ifaddr all 0.2.0-1 [10.2 kB] Get: 369 http://deb.debian.org/debian unstable/main arm64 python3-parso all 0.8.3-1 [67.4 kB] Get: 370 http://deb.debian.org/debian unstable/main arm64 python3-typeshed all 0.0~git20231111.6764465-3 [1258 kB] Get: 371 http://deb.debian.org/debian unstable/main arm64 python3-jedi all 0.19.1+ds1-1 [691 kB] Get: 372 http://deb.debian.org/debian unstable/main arm64 python3-traitlets all 5.14.3-1 [70.7 kB] Get: 373 http://deb.debian.org/debian unstable/main arm64 python3-matplotlib-inline all 0.1.6-2 [8652 B] Get: 374 http://deb.debian.org/debian unstable/main arm64 python3-ptyprocess all 0.7.0-5 [14.7 kB] Get: 375 http://deb.debian.org/debian unstable/main arm64 python3-pexpect all 4.9-2 [55.5 kB] Get: 376 http://deb.debian.org/debian unstable/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [24.9 kB] Get: 377 http://deb.debian.org/debian unstable/main arm64 python3-prompt-toolkit all 3.0.43-2 [276 kB] Get: 378 http://deb.debian.org/debian unstable/main arm64 python3-pygments all 2.17.2+dfsg-1 [818 kB] Get: 379 http://deb.debian.org/debian unstable/main arm64 python3-pure-eval all 0.2.2-2 [11.0 kB] Get: 380 http://deb.debian.org/debian unstable/main arm64 python3-stack-data all 0.6.3-1 [21.6 kB] Get: 381 http://deb.debian.org/debian unstable/main arm64 python3-ipython all 8.20.0-1 [556 kB] Get: 382 http://deb.debian.org/debian unstable/main arm64 python3-jeepney all 0.8.0-3 [34.0 kB] Get: 383 http://deb.debian.org/debian unstable/main arm64 python3-lxml-html-clean all 0.1.1-1 [13.0 kB] Get: 384 http://deb.debian.org/debian unstable/main arm64 python3-markdown all 3.6-1 [84.0 kB] Get: 385 http://deb.debian.org/debian unstable/main arm64 python3-mechanize all 1:0.4.10+ds-1 [103 kB] Get: 386 http://deb.debian.org/debian unstable/main arm64 python3-msgpack arm64 1.0.3-3+b1 [87.4 kB] Get: 387 http://deb.debian.org/debian unstable/main arm64 python3-netifaces arm64 0.11.0-2+b2 [19.0 kB] Get: 388 http://deb.debian.org/debian unstable/main arm64 python3-pil arm64 10.3.0-2 [552 kB] Get: 389 http://deb.debian.org/debian unstable/main arm64 python3-ply all 3.11-6 [63.7 kB] Get: 390 http://deb.debian.org/debian unstable/main arm64 python3-psutil arm64 5.9.8-2 [225 kB] Get: 391 http://deb.debian.org/debian unstable/main arm64 python3-pycryptodome arm64 3.20.0+dfsg-1 [1070 kB] Get: 392 http://deb.debian.org/debian unstable/main arm64 python3-texttable all 1.6.7-1 [11.9 kB] Get: 393 http://deb.debian.org/debian unstable/main arm64 python3-py7zr arm64 0.11.3+dfsg-8 [47.2 kB] Get: 394 http://deb.debian.org/debian unstable/main arm64 python3-pyparsing all 3.1.2-1 [146 kB] Get: 395 http://deb.debian.org/debian unstable/main arm64 python3-pyqt6.qtqml arm64 6.6.1-2+b1 [200 kB] Get: 396 http://deb.debian.org/debian unstable/main arm64 python3-pyqt6.qtquick arm64 6.6.1-2+b1 [236 kB] Get: 397 http://deb.debian.org/debian unstable/main arm64 python3-pyqt6.qtsvg arm64 6.6.1-2+b1 [59.0 kB] Get: 398 http://deb.debian.org/debian unstable/main arm64 python3-pyqt6.qtwebchannel arm64 6.6.1-2+b1 [47.1 kB] Get: 399 http://deb.debian.org/debian unstable/main arm64 python3-pyqt6.qtwebengine arm64 6.6.0-1+b1 [99.1 kB] Get: 400 http://deb.debian.org/debian unstable/main arm64 python3-sipbuild all 6.8.3+dfsg-1 [478 kB] Get: 401 http://deb.debian.org/debian unstable/main arm64 python3-pyqtbuild all 1.16.2+dfsg-1 [26.0 kB] Get: 402 http://deb.debian.org/debian unstable/main arm64 python3-regex arm64 0.1.20221031-2 [292 kB] Get: 403 http://deb.debian.org/debian unstable/main arm64 python3-repoze.lru all 0.7-3 [12.2 kB] Get: 404 http://deb.debian.org/debian unstable/main arm64 python3-routes all 2.5.1-3 [98.1 kB] Get: 405 http://deb.debian.org/debian unstable/main arm64 python3-xdg all 0.28-2 [40.5 kB] Get: 406 http://deb.debian.org/debian unstable/main arm64 python3-speechd all 0.11.5-4 [43.4 kB] Get: 407 http://deb.debian.org/debian unstable/main arm64 python3-xxhash arm64 3.2.0-1+b2 [19.4 kB] Get: 408 http://deb.debian.org/debian unstable/main arm64 python3-zeroconf all 0.132.2-2 [89.1 kB] Get: 409 http://deb.debian.org/debian unstable/main arm64 python3-zstd arm64 1.5.5.1-1 [11.3 kB] Get: 410 http://deb.debian.org/debian unstable/main arm64 qmake6-bin arm64 6.4.2+dfsg-21.1+b1 [516 kB] Get: 411 http://deb.debian.org/debian unstable/main arm64 qmake6 arm64 6.4.2+dfsg-21.1+b1 [181 kB] Get: 412 http://deb.debian.org/debian unstable/main arm64 qt6-base-dev-tools arm64 6.4.2+dfsg-21.1+b1 [804 kB] Get: 413 http://deb.debian.org/debian unstable/main arm64 qt6-qpa-plugins arm64 6.4.2+dfsg-21.1+b1 [85.7 kB] Get: 414 http://deb.debian.org/debian unstable/main arm64 qt6-base-dev arm64 6.4.2+dfsg-21.1+b1 [1443 kB] Get: 415 http://deb.debian.org/debian unstable/main arm64 qt6-base-private-dev arm64 6.4.2+dfsg-21.1+b1 [799 kB] Get: 416 http://deb.debian.org/debian unstable/main arm64 qt6-image-formats-plugins arm64 6.4.2-5+b1 [43.3 kB] Get: 417 http://deb.debian.org/debian unstable/main arm64 qt6-wayland arm64 6.4.2-5+b2 [115 kB] Get: 418 http://deb.debian.org/debian unstable/main arm64 webp arm64 1.3.2-0.4+b1 [188 kB] Get: 419 http://deb.debian.org/debian unstable/main arm64 xdg-utils all 1.1.3-4.1 [75.5 kB] Fetched 280 MB in 3s (109 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19736 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.9-1_arm64.deb ... Unpacking libpython3.11-minimal:arm64 (3.11.9-1) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.2-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.2-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.9-1_arm64.deb ... Unpacking python3.11-minimal (3.11.9-1) ... Setting up libpython3.11-minimal:arm64 (3.11.9-1) ... Setting up libexpat1:arm64 (2.6.2-1) ... Setting up python3.11-minimal (3.11.9-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20052 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.8-1_arm64.deb ... Unpacking python3-minimal (3.11.8-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2024a-4_all.deb ... Unpacking tzdata (2024a-4) ... Selecting previously unselected package readline-common. Preparing to unpack .../4-readline-common_8.2-4_all.deb ... Unpacking readline-common (8.2-4) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../5-libreadline8t64_8.2-4_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-4) ... Selecting previously unselected package libpython3.11-stdlib:arm64. Preparing to unpack .../6-libpython3.11-stdlib_3.11.9-1_arm64.deb ... Unpacking libpython3.11-stdlib:arm64 (3.11.9-1) ... Selecting previously unselected package python3.11. Preparing to unpack .../7-python3.11_3.11.9-1_arm64.deb ... Unpacking python3.11 (3.11.9-1) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../8-libpython3-stdlib_3.11.8-1_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.11.8-1) ... Setting up python3-minimal (3.11.8-1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21044 files and directories currently installed.) Preparing to unpack .../000-python3_3.11.8-1_arm64.deb ... Unpacking python3 (3.11.8-1) ... Selecting previously unselected package libproc2-0:arm64. Preparing to unpack .../001-libproc2-0_2%3a4.0.4-4_arm64.deb ... Unpacking libproc2-0:arm64 (2:4.0.4-4) ... Selecting previously unselected package procps. Preparing to unpack .../002-procps_2%3a4.0.4-4_arm64.deb ... Unpacking procps (2:4.0.4-4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.2.1-3_arm64.deb ... Unpacking openssl (3.2.1-3) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.45-3_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../007-libmagic1t64_1%3a5.45-3_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.45-3_arm64.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.21-14+b1_arm64.deb ... Unpacking gettext-base (0.21-14+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../010-libuchardet0_0.0.8-1+b1_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-4_arm64.deb ... Unpacking groff-base (1.23.0-4) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.40-8_arm64.deb ... Unpacking bsdextrautils (2.40-8) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../013-libpipeline1_1.5.7-2_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.7-2) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.12.1-1_arm64.deb ... Unpacking man-db (2.12.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../015-m4_1.4.19-4_arm64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../016-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../017-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../018-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../019-autopoint_0.21-14_all.deb ... Unpacking autopoint (0.21-14) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../020-libicu72_72.1-4+b1_arm64.deb ... Unpacking libicu72:arm64 (72.1-4+b1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../021-libxml2_2.9.14+dfsg-1.3+b3_arm64.deb ... Unpacking libxml2:arm64 (2.9.14+dfsg-1.3+b3) ... Selecting previously unselected package libarchive13t64:arm64. Preparing to unpack .../022-libarchive13t64_3.7.2-2_arm64.deb ... Unpacking libarchive13t64:arm64 (3.7.2-2) ... Selecting previously unselected package libbrotli1:arm64. Preparing to unpack .../023-libbrotli1_1.1.0-2+b3_arm64.deb ... Unpacking libbrotli1:arm64 (1.1.0-2+b3) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../024-libkrb5support0_1.20.1-6+b1_arm64.deb ... Unpacking libkrb5support0:arm64 (1.20.1-6+b1) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../025-libcom-err2_1.47.1~rc2-1_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.1~rc2-1) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../026-libk5crypto3_1.20.1-6+b1_arm64.deb ... Unpacking libk5crypto3:arm64 (1.20.1-6+b1) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../027-libkeyutils1_1.6.3-3_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-3) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../028-libkrb5-3_1.20.1-6+b1_arm64.deb ... Unpacking libkrb5-3:arm64 (1.20.1-6+b1) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../029-libgssapi-krb5-2_1.20.1-6+b1_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.20.1-6+b1) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../030-libsasl2-modules-db_2.1.28+dfsg1-6_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.28+dfsg1-6) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../031-libsasl2-2_2.1.28+dfsg1-6_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.28+dfsg1-6) ... Selecting previously unselected package libldap-2.5-0:arm64. Preparing to unpack .../032-libldap-2.5-0_2.5.17+dfsg-1_arm64.deb ... Unpacking libldap-2.5-0:arm64 (2.5.17+dfsg-1) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../033-libnghttp2-14_1.61.0-1+b1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.61.0-1+b1) ... Selecting previously unselected package libpsl5t64:arm64. Preparing to unpack .../034-libpsl5t64_0.21.2-1.1_arm64.deb ... Unpacking libpsl5t64:arm64 (0.21.2-1.1) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../035-librtmp1_2.4+20151223.gitfa8646d.1-2+b4_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b4) ... Selecting previously unselected package libssh2-1t64:arm64. Preparing to unpack .../036-libssh2-1t64_1.11.0-4.1+b2_arm64.deb ... Unpacking libssh2-1t64:arm64 (1.11.0-4.1+b2) ... Selecting previously unselected package libcurl4t64:arm64. Preparing to unpack .../037-libcurl4t64_8.7.1-5_arm64.deb ... Unpacking libcurl4t64:arm64 (8.7.1-5) ... Selecting previously unselected package libjsoncpp25:arm64. Preparing to unpack .../038-libjsoncpp25_1.9.5-6+b2_arm64.deb ... Unpacking libjsoncpp25:arm64 (1.9.5-6+b2) ... Selecting previously unselected package librhash0:arm64. Preparing to unpack .../039-librhash0_1.4.3-3+b1_arm64.deb ... Unpacking librhash0:arm64 (1.4.3-3+b1) ... Selecting previously unselected package libuv1t64:arm64. Preparing to unpack .../040-libuv1t64_1.48.0-1.1_arm64.deb ... Unpacking libuv1t64:arm64 (1.48.0-1.1) ... Selecting previously unselected package cmake-data. Preparing to unpack .../041-cmake-data_3.29.2-2_all.deb ... Unpacking cmake-data (3.29.2-2) ... Selecting previously unselected package cmake. Preparing to unpack .../042-cmake_3.29.2-2_arm64.deb ... Unpacking cmake (3.29.2-2) ... Selecting previously unselected package curl. Preparing to unpack .../043-curl_8.7.1-5_arm64.deb ... Unpacking curl (8.7.1-5) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../044-libdebhelper-perl_13.15.3_all.deb ... Unpacking libdebhelper-perl (13.15.3) ... Selecting previously unselected package libtool. Preparing to unpack .../045-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../046-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../047-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../048-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../049-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../050-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../051-libelf1t64_0.191-1+b1_arm64.deb ... Unpacking libelf1t64:arm64 (0.191-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../052-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../053-gettext_0.21-14+b1_arm64.deb ... Unpacking gettext (0.21-14+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../054-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../055-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../056-debhelper_13.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package dh-buildinfo. Preparing to unpack .../057-dh-buildinfo_0.11+nmu3_all.deb ... Unpacking dh-buildinfo (0.11+nmu3) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../058-python3-pkg-resources_68.1.2-2_all.deb ... Unpacking python3-pkg-resources (68.1.2-2) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../059-python3-lib2to3_3.12.3-1_all.deb ... Unpacking python3-lib2to3 (3.12.3-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../060-python3-distutils_3.12.3-1_all.deb ... Unpacking python3-distutils (3.12.3-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../061-python3-setuptools_68.1.2-2_all.deb ... Unpacking python3-setuptools (68.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../062-dh-python_6.20240422_all.deb ... Unpacking dh-python (6.20240422) ... Selecting previously unselected package libpng16-16t64:arm64. Preparing to unpack .../063-libpng16-16t64_1.6.43-5_arm64.deb ... Unpacking libpng16-16t64:arm64 (1.6.43-5) ... Selecting previously unselected package libfreetype6:arm64. Preparing to unpack .../064-libfreetype6_2.13.2+dfsg-1+b4_arm64.deb ... Unpacking libfreetype6:arm64 (2.13.2+dfsg-1+b4) ... Selecting previously unselected package fonts-liberation. Preparing to unpack .../065-fonts-liberation_1%3a2.1.5-3_all.deb ... Unpacking fonts-liberation (1:2.1.5-3) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../066-fontconfig-config_2.15.0-1.1_arm64.deb ... Unpacking fontconfig-config (2.15.0-1.1) ... Selecting previously unselected package libfontconfig1:arm64. Preparing to unpack .../067-libfontconfig1_2.15.0-1.1_arm64.deb ... Unpacking libfontconfig1:arm64 (2.15.0-1.1) ... Selecting previously unselected package fontconfig. Preparing to unpack .../068-fontconfig_2.15.0-1.1_arm64.deb ... Unpacking fontconfig (2.15.0-1.1) ... Selecting previously unselected package libglib2.0-0t64:arm64. Preparing to unpack .../069-libglib2.0-0t64_2.78.4-7_arm64.deb ... Unpacking libglib2.0-0t64:arm64 (2.78.4-7) ... Selecting previously unselected package gir1.2-glib-2.0:arm64. Preparing to unpack .../070-gir1.2-glib-2.0_1.78.1-19_arm64.deb ... Unpacking gir1.2-glib-2.0:arm64 (1.78.1-19) ... Selecting previously unselected package gir1.2-glib-2.0-dev:arm64. Preparing to unpack .../071-gir1.2-glib-2.0-dev_1.78.1-19_arm64.deb ... Unpacking gir1.2-glib-2.0-dev:arm64 (1.78.1-19) ... Selecting previously unselected package libgudev-1.0-0:arm64. Preparing to unpack .../072-libgudev-1.0-0_238-5_arm64.deb ... Unpacking libgudev-1.0-0:arm64 (238-5) ... Selecting previously unselected package gir1.2-gudev-1.0:arm64. Preparing to unpack .../073-gir1.2-gudev-1.0_238-5_arm64.deb ... Unpacking gir1.2-gudev-1.0:arm64 (238-5) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../074-icu-devtools_72.1-4+b1_arm64.deb ... Unpacking icu-devtools (72.1-4+b1) ... Selecting previously unselected package libavahi-common-data:arm64. Preparing to unpack .../075-libavahi-common-data_0.8-13+b2_arm64.deb ... Unpacking libavahi-common-data:arm64 (0.8-13+b2) ... Selecting previously unselected package libavahi-common3:arm64. Preparing to unpack .../076-libavahi-common3_0.8-13+b2_arm64.deb ... Unpacking libavahi-common3:arm64 (0.8-13+b2) ... Selecting previously unselected package libdbus-1-3:arm64. Preparing to unpack .../077-libdbus-1-3_1.14.10-4+b1_arm64.deb ... Unpacking libdbus-1-3:arm64 (1.14.10-4+b1) ... Selecting previously unselected package libavahi-client3:arm64. Preparing to unpack .../078-libavahi-client3_0.8-13+b2_arm64.deb ... Unpacking libavahi-client3:arm64 (0.8-13+b2) ... Selecting previously unselected package libb2-1:arm64. Preparing to unpack .../079-libb2-1_0.98.1-1.1+b1_arm64.deb ... Unpacking libb2-1:arm64 (0.98.1-1.1+b1) ... Selecting previously unselected package libblas3:arm64. Preparing to unpack .../080-libblas3_3.12.0-3_arm64.deb ... Unpacking libblas3:arm64 (3.12.0-3) ... Selecting previously unselected package uuid-dev:arm64. Preparing to unpack .../081-uuid-dev_2.40-8_arm64.deb ... Unpacking uuid-dev:arm64 (2.40-8) ... Selecting previously unselected package libblkid-dev:arm64. Preparing to unpack .../082-libblkid-dev_2.40-8_arm64.deb ... Unpacking libblkid-dev:arm64 (2.40-8) ... Selecting previously unselected package libboost1.83-dev:arm64. Preparing to unpack .../083-libboost1.83-dev_1.83.0-2.1+b1_arm64.deb ... Unpacking libboost1.83-dev:arm64 (1.83.0-2.1+b1) ... Selecting previously unselected package libboost-dev:arm64. Preparing to unpack .../084-libboost-dev_1.83.0.2+b2_arm64.deb ... Unpacking libboost-dev:arm64 (1.83.0.2+b2) ... Selecting previously unselected package libbrotli-dev:arm64. Preparing to unpack .../085-libbrotli-dev_1.1.0-2+b3_arm64.deb ... Unpacking libbrotli-dev:arm64 (1.1.0-2+b3) ... Selecting previously unselected package libbsd0:arm64. Preparing to unpack .../086-libbsd0_0.12.2-1_arm64.deb ... Unpacking libbsd0:arm64 (0.12.2-1) ... Selecting previously unselected package libbz2-dev:arm64. Preparing to unpack .../087-libbz2-dev_1.0.8-5.1_arm64.deb ... Unpacking libbz2-dev:arm64 (1.0.8-5.1) ... Selecting previously unselected package libpixman-1-0:arm64. Preparing to unpack .../088-libpixman-1-0_0.42.2-1+b1_arm64.deb ... Unpacking libpixman-1-0:arm64 (0.42.2-1+b1) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../089-libxau6_1%3a1.0.9-1+b1_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.9-1+b1) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../090-libxdmcp6_1%3a1.1.2-3+b1_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.2-3+b1) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../091-libxcb1_1.17.0-1_arm64.deb ... Unpacking libxcb1:arm64 (1.17.0-1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../092-libx11-data_2%3a1.8.7-1_all.deb ... Unpacking libx11-data (2:1.8.7-1) ... Selecting previously unselected package libx11-6:arm64. Preparing to unpack .../093-libx11-6_2%3a1.8.7-1+b1_arm64.deb ... Unpacking libx11-6:arm64 (2:1.8.7-1+b1) ... Selecting previously unselected package libxcb-render0:arm64. Preparing to unpack .../094-libxcb-render0_1.17.0-1_arm64.deb ... Unpacking libxcb-render0:arm64 (1.17.0-1) ... Selecting previously unselected package libxcb-shm0:arm64. Preparing to unpack .../095-libxcb-shm0_1.17.0-1_arm64.deb ... Unpacking libxcb-shm0:arm64 (1.17.0-1) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../096-libxext6_2%3a1.3.4-1+b1_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.4-1+b1) ... Selecting previously unselected package libxrender1:arm64. Preparing to unpack .../097-libxrender1_1%3a0.9.10-1.1+b1_arm64.deb ... Unpacking libxrender1:arm64 (1:0.9.10-1.1+b1) ... Selecting previously unselected package libcairo2:arm64. Preparing to unpack .../098-libcairo2_1.18.0-3+b1_arm64.deb ... Unpacking libcairo2:arm64 (1.18.0-3+b1) ... Selecting previously unselected package libcairo-gobject2:arm64. Preparing to unpack .../099-libcairo-gobject2_1.18.0-3+b1_arm64.deb ... Unpacking libcairo-gobject2:arm64 (1.18.0-3+b1) ... Selecting previously unselected package libchm1. Preparing to unpack .../100-libchm1_2%3a0.40a-8+b1_arm64.deb ... Unpacking libchm1 (2:0.40a-8+b1) ... Selecting previously unselected package libchm-dev:arm64. Preparing to unpack .../101-libchm-dev_2%3a0.40a-8+b1_arm64.deb ... Unpacking libchm-dev:arm64 (2:0.40a-8+b1) ... Selecting previously unselected package libcups2t64:arm64. Preparing to unpack .../102-libcups2t64_2.4.7-1.2+b1_arm64.deb ... Unpacking libcups2t64:arm64 (2.4.7-1.2+b1) ... Selecting previously unselected package libcurl3t64-gnutls:arm64. Preparing to unpack .../103-libcurl3t64-gnutls_8.7.1-5_arm64.deb ... Unpacking libcurl3t64-gnutls:arm64 (8.7.1-5) ... Selecting previously unselected package libdatrie1:arm64. Preparing to unpack .../104-libdatrie1_0.2.13-3_arm64.deb ... Unpacking libdatrie1:arm64 (0.2.13-3) ... Selecting previously unselected package libdeflate0:arm64. Preparing to unpack .../105-libdeflate0_1.20-1_arm64.deb ... Unpacking libdeflate0:arm64 (1.20-1) ... Selecting previously unselected package libdouble-conversion3:arm64. Preparing to unpack .../106-libdouble-conversion3_3.3.0-1+b1_arm64.deb ... Unpacking libdouble-conversion3:arm64 (3.3.0-1+b1) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../107-libdrm-common_2.4.120-2_all.deb ... Unpacking libdrm-common (2.4.120-2) ... Selecting previously unselected package libdrm2:arm64. Preparing to unpack .../108-libdrm2_2.4.120-2_arm64.deb ... Unpacking libdrm2:arm64 (2.4.120-2) ... Selecting previously unselected package libdrm-amdgpu1:arm64. Preparing to unpack .../109-libdrm-amdgpu1_2.4.120-2_arm64.deb ... Unpacking libdrm-amdgpu1:arm64 (2.4.120-2) ... Selecting previously unselected package libdrm-nouveau2:arm64. Preparing to unpack .../110-libdrm-nouveau2_2.4.120-2_arm64.deb ... Unpacking libdrm-nouveau2:arm64 (2.4.120-2) ... Selecting previously unselected package libdrm-radeon1:arm64. Preparing to unpack .../111-libdrm-radeon1_2.4.120-2_arm64.deb ... Unpacking libdrm-radeon1:arm64 (2.4.120-2) ... Selecting previously unselected package libduktape207:arm64. Preparing to unpack .../112-libduktape207_2.7.0-2+b1_arm64.deb ... Unpacking libduktape207:arm64 (2.7.0-2+b1) ... Selecting previously unselected package libedit2:arm64. Preparing to unpack .../113-libedit2_3.1-20230828-1+b1_arm64.deb ... Unpacking libedit2:arm64 (3.1-20230828-1+b1) ... Selecting previously unselected package libglvnd0:arm64. Preparing to unpack .../114-libglvnd0_1.7.0-1+b1_arm64.deb ... Unpacking libglvnd0:arm64 (1.7.0-1+b1) ... Selecting previously unselected package libwayland-server0:arm64. Preparing to unpack .../115-libwayland-server0_1.22.0-2.1+b1_arm64.deb ... Unpacking libwayland-server0:arm64 (1.22.0-2.1+b1) ... Selecting previously unselected package libxcb-randr0:arm64. Preparing to unpack .../116-libxcb-randr0_1.17.0-1_arm64.deb ... Unpacking libxcb-randr0:arm64 (1.17.0-1) ... Selecting previously unselected package libgbm1:arm64. Preparing to unpack .../117-libgbm1_24.0.6-1+b1_arm64.deb ... Unpacking libgbm1:arm64 (24.0.6-1+b1) ... Selecting previously unselected package libglapi-mesa:arm64. Preparing to unpack .../118-libglapi-mesa_24.0.6-1+b1_arm64.deb ... Unpacking libglapi-mesa:arm64 (24.0.6-1+b1) ... Selecting previously unselected package libwayland-client0:arm64. Preparing to unpack .../119-libwayland-client0_1.22.0-2.1+b1_arm64.deb ... Unpacking libwayland-client0:arm64 (1.22.0-2.1+b1) ... Selecting previously unselected package libx11-xcb1:arm64. Preparing to unpack .../120-libx11-xcb1_2%3a1.8.7-1+b1_arm64.deb ... Unpacking libx11-xcb1:arm64 (2:1.8.7-1+b1) ... Selecting previously unselected package libxcb-dri2-0:arm64. Preparing to unpack .../121-libxcb-dri2-0_1.17.0-1_arm64.deb ... Unpacking libxcb-dri2-0:arm64 (1.17.0-1) ... Selecting previously unselected package libxcb-dri3-0:arm64. Preparing to unpack .../122-libxcb-dri3-0_1.17.0-1_arm64.deb ... Unpacking libxcb-dri3-0:arm64 (1.17.0-1) ... Selecting previously unselected package libxcb-present0:arm64. Preparing to unpack .../123-libxcb-present0_1.17.0-1_arm64.deb ... Unpacking libxcb-present0:arm64 (1.17.0-1) ... Selecting previously unselected package libxcb-sync1:arm64. Preparing to unpack .../124-libxcb-sync1_1.17.0-1_arm64.deb ... Unpacking libxcb-sync1:arm64 (1.17.0-1) ... Selecting previously unselected package libxcb-xfixes0:arm64. Preparing to unpack .../125-libxcb-xfixes0_1.17.0-1_arm64.deb ... Unpacking libxcb-xfixes0:arm64 (1.17.0-1) ... Selecting previously unselected package libxshmfence1:arm64. Preparing to unpack .../126-libxshmfence1_1.3-1+b1_arm64.deb ... Unpacking libxshmfence1:arm64 (1.3-1+b1) ... Selecting previously unselected package libegl-mesa0:arm64. Preparing to unpack .../127-libegl-mesa0_24.0.6-1+b1_arm64.deb ... Unpacking libegl-mesa0:arm64 (24.0.6-1+b1) ... Selecting previously unselected package libegl1:arm64. Preparing to unpack .../128-libegl1_1.7.0-1+b1_arm64.deb ... Unpacking libegl1:arm64 (1.7.0-1+b1) ... Selecting previously unselected package libxcb-glx0:arm64. Preparing to unpack .../129-libxcb-glx0_1.17.0-1_arm64.deb ... Unpacking libxcb-glx0:arm64 (1.17.0-1) ... Selecting previously unselected package libxfixes3:arm64. Preparing to unpack .../130-libxfixes3_1%3a6.0.0-2+b1_arm64.deb ... Unpacking libxfixes3:arm64 (1:6.0.0-2+b1) ... Selecting previously unselected package libxxf86vm1:arm64. Preparing to unpack .../131-libxxf86vm1_1%3a1.1.4-1+b2_arm64.deb ... Unpacking libxxf86vm1:arm64 (1:1.1.4-1+b2) ... Selecting previously unselected package libvulkan1:arm64. Preparing to unpack .../132-libvulkan1_1.3.280.0-1_arm64.deb ... Unpacking libvulkan1:arm64 (1.3.280.0-1) ... Selecting previously unselected package libz3-4:arm64. Preparing to unpack .../133-libz3-4_4.8.12-3.1+b2_arm64.deb ... Unpacking libz3-4:arm64 (4.8.12-3.1+b2) ... Selecting previously unselected package libllvm17t64:arm64. Preparing to unpack .../134-libllvm17t64_1%3a17.0.6-11_arm64.deb ... Unpacking libllvm17t64:arm64 (1:17.0.6-11) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../135-libsensors-config_1%3a3.6.0-9_all.deb ... Unpacking libsensors-config (1:3.6.0-9) ... Selecting previously unselected package libsensors5:arm64. Preparing to unpack .../136-libsensors5_1%3a3.6.0-9_arm64.deb ... Unpacking libsensors5:arm64 (1:3.6.0-9) ... Selecting previously unselected package libgl1-mesa-dri:arm64. Preparing to unpack .../137-libgl1-mesa-dri_24.0.6-1+b1_arm64.deb ... Unpacking libgl1-mesa-dri:arm64 (24.0.6-1+b1) ... Selecting previously unselected package libglx-mesa0:arm64. Preparing to unpack .../138-libglx-mesa0_24.0.6-1+b1_arm64.deb ... Unpacking libglx-mesa0:arm64 (24.0.6-1+b1) ... Selecting previously unselected package libglx0:arm64. Preparing to unpack .../139-libglx0_1.7.0-1+b1_arm64.deb ... Unpacking libglx0:arm64 (1.7.0-1+b1) ... Selecting previously unselected package libgl1:arm64. Preparing to unpack .../140-libgl1_1.7.0-1+b1_arm64.deb ... Unpacking libgl1:arm64 (1.7.0-1+b1) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../141-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1.1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../142-x11proto-dev_2024.1-1_all.deb ... Unpacking x11proto-dev (2024.1-1) ... Selecting previously unselected package libxau-dev:arm64. Preparing to unpack .../143-libxau-dev_1%3a1.0.9-1+b1_arm64.deb ... Unpacking libxau-dev:arm64 (1:1.0.9-1+b1) ... Selecting previously unselected package libxdmcp-dev:arm64. Preparing to unpack .../144-libxdmcp-dev_1%3a1.1.2-3+b1_arm64.deb ... Unpacking libxdmcp-dev:arm64 (1:1.1.2-3+b1) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../145-xtrans-dev_1.4.0-1_all.deb ... Unpacking xtrans-dev (1.4.0-1) ... Selecting previously unselected package libpthread-stubs0-dev:arm64. Preparing to unpack .../146-libpthread-stubs0-dev_0.4-1+b1_arm64.deb ... Unpacking libpthread-stubs0-dev:arm64 (0.4-1+b1) ... Selecting previously unselected package libxcb1-dev:arm64. Preparing to unpack .../147-libxcb1-dev_1.17.0-1_arm64.deb ... Unpacking libxcb1-dev:arm64 (1.17.0-1) ... Selecting previously unselected package libx11-dev:arm64. Preparing to unpack .../148-libx11-dev_2%3a1.8.7-1+b1_arm64.deb ... Unpacking libx11-dev:arm64 (2:1.8.7-1+b1) ... Selecting previously unselected package libglx-dev:arm64. Preparing to unpack .../149-libglx-dev_1.7.0-1+b1_arm64.deb ... Unpacking libglx-dev:arm64 (1.7.0-1+b1) ... Selecting previously unselected package libgl-dev:arm64. Preparing to unpack .../150-libgl-dev_1.7.0-1+b1_arm64.deb ... Unpacking libgl-dev:arm64 (1.7.0-1+b1) ... Selecting previously unselected package libegl-dev:arm64. Preparing to unpack .../151-libegl-dev_1.7.0-1+b1_arm64.deb ... Unpacking libegl-dev:arm64 (1.7.0-1+b1) ... Selecting previously unselected package libevdev2:arm64. Preparing to unpack .../152-libevdev2_1.13.1+dfsg-1+b1_arm64.deb ... Unpacking libevdev2:arm64 (1.13.1+dfsg-1+b1) ... Selecting previously unselected package libevdev-dev:arm64. Preparing to unpack .../153-libevdev-dev_1.13.1+dfsg-1+b1_arm64.deb ... Unpacking libevdev-dev:arm64 (1.13.1+dfsg-1+b1) ... Selecting previously unselected package libevent-2.1-7t64:arm64. Preparing to unpack .../154-libevent-2.1-7t64_2.1.12-stable-8.1+b3_arm64.deb ... Unpacking libevent-2.1-7t64:arm64 (2.1.12-stable-8.1+b3) ... Selecting previously unselected package libexpat1-dev:arm64. Preparing to unpack .../155-libexpat1-dev_2.6.2-1_arm64.deb ... Unpacking libexpat1-dev:arm64 (2.6.2-1) ... Selecting previously unselected package libffi-dev:arm64. Preparing to unpack .../156-libffi-dev_3.4.6-1_arm64.deb ... Unpacking libffi-dev:arm64 (3.4.6-1) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../157-zlib1g-dev_1%3a1.3.dfsg-3.1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.3.dfsg-3.1) ... Selecting previously unselected package libpng-dev:arm64. Preparing to unpack .../158-libpng-dev_1.6.43-5_arm64.deb ... Unpacking libpng-dev:arm64 (1.6.43-5) ... Selecting previously unselected package libfreetype-dev:arm64. Preparing to unpack .../159-libfreetype-dev_2.13.2+dfsg-1+b4_arm64.deb ... Unpacking libfreetype-dev:arm64 (2.13.2+dfsg-1+b4) ... Selecting previously unselected package libpkgconf3:arm64. Preparing to unpack .../160-libpkgconf3_1.8.1-1+b2_arm64.deb ... Unpacking libpkgconf3:arm64 (1.8.1-1+b2) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../161-pkgconf-bin_1.8.1-1+b2_arm64.deb ... Unpacking pkgconf-bin (1.8.1-1+b2) ... Selecting previously unselected package pkgconf:arm64. Preparing to unpack .../162-pkgconf_1.8.1-1+b2_arm64.deb ... Unpacking pkgconf:arm64 (1.8.1-1+b2) ... Selecting previously unselected package libfontconfig-dev:arm64. Preparing to unpack .../163-libfontconfig-dev_2.15.0-1.1_arm64.deb ... Unpacking libfontconfig-dev:arm64 (2.15.0-1.1) ... Selecting previously unselected package libfribidi0:arm64. Preparing to unpack .../164-libfribidi0_1.0.13-3+b1_arm64.deb ... Unpacking libfribidi0:arm64 (1.0.13-3+b1) ... Selecting previously unselected package libgdk-pixbuf2.0-common. Preparing to unpack .../165-libgdk-pixbuf2.0-common_2.42.10+dfsg-3_all.deb ... Unpacking libgdk-pixbuf2.0-common (2.42.10+dfsg-3) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../166-shared-mime-info_2.4-4_arm64.deb ... Unpacking shared-mime-info (2.4-4) ... Selecting previously unselected package libjpeg62-turbo:arm64. Preparing to unpack .../167-libjpeg62-turbo_1%3a2.1.5-3_arm64.deb ... Unpacking libjpeg62-turbo:arm64 (1:2.1.5-3) ... Selecting previously unselected package libjbig0:arm64. Preparing to unpack .../168-libjbig0_2.1-6.1+b1_arm64.deb ... Unpacking libjbig0:arm64 (2.1-6.1+b1) ... Selecting previously unselected package liblerc4:arm64. Preparing to unpack .../169-liblerc4_4.0.0+ds-4+b1_arm64.deb ... Unpacking liblerc4:arm64 (4.0.0+ds-4+b1) ... Selecting previously unselected package libsharpyuv0:arm64. Preparing to unpack .../170-libsharpyuv0_1.3.2-0.4+b1_arm64.deb ... Unpacking libsharpyuv0:arm64 (1.3.2-0.4+b1) ... Selecting previously unselected package libwebp7:arm64. Preparing to unpack .../171-libwebp7_1.3.2-0.4+b1_arm64.deb ... Unpacking libwebp7:arm64 (1.3.2-0.4+b1) ... Selecting previously unselected package libtiff6:arm64. Preparing to unpack .../172-libtiff6_4.5.1+git230720-4_arm64.deb ... Unpacking libtiff6:arm64 (4.5.1+git230720-4) ... Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. Preparing to unpack .../173-libgdk-pixbuf-2.0-0_2.42.10+dfsg-3+b3_arm64.deb ... Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.10+dfsg-3+b3) ... Selecting previously unselected package libgfortran5:arm64. Preparing to unpack .../174-libgfortran5_14-20240429-1_arm64.deb ... Unpacking libgfortran5:arm64 (14-20240429-1) ... Selecting previously unselected package libgif7:arm64. Preparing to unpack .../175-libgif7_5.2.2-1_arm64.deb ... Unpacking libgif7:arm64 (5.2.2-1) ... Selecting previously unselected package libglib2.0-data. Preparing to unpack .../176-libglib2.0-data_2.78.4-7_all.deb ... Unpacking libglib2.0-data (2.78.4-7) ... Selecting previously unselected package libglib2.0-bin. Preparing to unpack .../177-libglib2.0-bin_2.78.4-7_arm64.deb ... Unpacking libglib2.0-bin (2.78.4-7) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../178-python3-packaging_24.0-1_all.deb ... Unpacking python3-packaging (24.0-1) ... Selecting previously unselected package libglib2.0-dev-bin. Preparing to unpack .../179-libglib2.0-dev-bin_2.78.4-7_arm64.deb ... Unpacking libglib2.0-dev-bin (2.78.4-7) ... Selecting previously unselected package libsepol-dev:arm64. Preparing to unpack .../180-libsepol-dev_3.5-2+b1_arm64.deb ... Unpacking libsepol-dev:arm64 (3.5-2+b1) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../181-libpcre2-16-0_10.42-4+b1_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.42-4+b1) ... Selecting previously unselected package libpcre2-32-0:arm64. Preparing to unpack .../182-libpcre2-32-0_10.42-4+b1_arm64.deb ... Unpacking libpcre2-32-0:arm64 (10.42-4+b1) ... Selecting previously unselected package libpcre2-posix3:arm64. Preparing to unpack .../183-libpcre2-posix3_10.42-4+b1_arm64.deb ... Unpacking libpcre2-posix3:arm64 (10.42-4+b1) ... Selecting previously unselected package libpcre2-dev:arm64. Preparing to unpack .../184-libpcre2-dev_10.42-4+b1_arm64.deb ... Unpacking libpcre2-dev:arm64 (10.42-4+b1) ... Selecting previously unselected package libselinux1-dev:arm64. Preparing to unpack .../185-libselinux1-dev_3.5-2+b2_arm64.deb ... Unpacking libselinux1-dev:arm64 (3.5-2+b2) ... Selecting previously unselected package libmount-dev:arm64. Preparing to unpack .../186-libmount-dev_2.40-8_arm64.deb ... Unpacking libmount-dev:arm64 (2.40-8) ... Selecting previously unselected package libglib2.0-dev:arm64. Preparing to unpack .../187-libglib2.0-dev_2.78.4-7_arm64.deb ... Unpacking libglib2.0-dev:arm64 (2.78.4-7) ... Selecting previously unselected package libxi6:arm64. Preparing to unpack .../188-libxi6_2%3a1.8.1-1_arm64.deb ... Unpacking libxi6:arm64 (2:1.8.1-1) ... Selecting previously unselected package libglut3.12:arm64. Preparing to unpack .../189-libglut3.12_3.4.0-1+b1_arm64.deb ... Unpacking libglut3.12:arm64 (3.4.0-1+b1) ... Selecting previously unselected package libgraphite2-3:arm64. Preparing to unpack .../190-libgraphite2-3_1.3.14-2_arm64.deb ... Unpacking libgraphite2-3:arm64 (1.3.14-2) ... Selecting previously unselected package libudev-dev:arm64. Preparing to unpack .../191-libudev-dev_255.5-1_arm64.deb ... Unpacking libudev-dev:arm64 (255.5-1) ... Selecting previously unselected package libgudev-1.0-dev:arm64. Preparing to unpack .../192-libgudev-1.0-dev_238-5_arm64.deb ... Unpacking libgudev-1.0-dev:arm64 (238-5) ... Selecting previously unselected package libharfbuzz0b:arm64. Preparing to unpack .../193-libharfbuzz0b_8.3.0-2+b1_arm64.deb ... Unpacking libharfbuzz0b:arm64 (8.3.0-2+b1) ... Selecting previously unselected package libharfbuzz-subset0:arm64. Preparing to unpack .../194-libharfbuzz-subset0_8.3.0-2+b1_arm64.deb ... Unpacking libharfbuzz-subset0:arm64 (8.3.0-2+b1) ... Selecting previously unselected package libhunspell-1.7-0:arm64. Preparing to unpack .../195-libhunspell-1.7-0_1.7.2+really1.7.2-10+b2_arm64.deb ... Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10+b2) ... Selecting previously unselected package libhunspell-dev:arm64. Preparing to unpack .../196-libhunspell-dev_1.7.2+really1.7.2-10+b2_arm64.deb ... Unpacking libhunspell-dev:arm64 (1.7.2+really1.7.2-10+b2) ... Selecting previously unselected package libhyphen0:arm64. Preparing to unpack .../197-libhyphen0_2.8.8-7+b1_arm64.deb ... Unpacking libhyphen0:arm64 (2.8.8-7+b1) ... Selecting previously unselected package libhyphen-dev:arm64. Preparing to unpack .../198-libhyphen-dev_2.8.8-7+b1_arm64.deb ... Unpacking libhyphen-dev:arm64 (2.8.8-7+b1) ... Selecting previously unselected package x11-common. Preparing to unpack .../199-x11-common_1%3a7.7+23_all.deb ... Unpacking x11-common (1:7.7+23) ... Selecting previously unselected package libice6:arm64. Preparing to unpack .../200-libice6_2%3a1.0.10-1+b1_arm64.deb ... Unpacking libice6:arm64 (2:1.0.10-1+b1) ... Selecting previously unselected package libicu-dev:arm64. Preparing to unpack .../201-libicu-dev_72.1-4+b1_arm64.deb ... Unpacking libicu-dev:arm64 (72.1-4+b1) ... Selecting previously unselected package libidn12:arm64. Preparing to unpack .../202-libidn12_1.42-2_arm64.deb ... Unpacking libidn12:arm64 (1.42-2) ... Selecting previously unselected package libimagequant0:arm64. Preparing to unpack .../203-libimagequant0_2.18.0-1+b1_arm64.deb ... Unpacking libimagequant0:arm64 (2.18.0-1+b1) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../204-libwacom-common_2.10.0-2_all.deb ... Unpacking libwacom-common (2.10.0-2) ... Selecting previously unselected package libwacom9:arm64. Preparing to unpack .../205-libwacom9_2.10.0-2_arm64.deb ... Unpacking libwacom9:arm64 (2.10.0-2) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../206-libinput-bin_1.25.0-1+b2_arm64.deb ... Unpacking libinput-bin (1.25.0-1+b2) ... Selecting previously unselected package libmtdev1t64:arm64. Preparing to unpack .../207-libmtdev1t64_1.1.6-1.2_arm64.deb ... Unpacking libmtdev1t64:arm64 (1.1.6-1.2) ... Selecting previously unselected package libinput10:arm64. Preparing to unpack .../208-libinput10_1.25.0-1+b2_arm64.deb ... Unpacking libinput10:arm64 (1.25.0-1+b2) ... Selecting previously unselected package libmtdev-dev:arm64. Preparing to unpack .../209-libmtdev-dev_1.1.6-1.2_arm64.deb ... Unpacking libmtdev-dev:arm64 (1.1.6-1.2) ... Selecting previously unselected package libwacom-dev:arm64. Preparing to unpack .../210-libwacom-dev_2.10.0-2_arm64.deb ... Unpacking libwacom-dev:arm64 (2.10.0-2) ... Selecting previously unselected package libinput-dev:arm64. Preparing to unpack .../211-libinput-dev_1.25.0-1+b2_arm64.deb ... Unpacking libinput-dev:arm64 (1.25.0-1+b2) ... Selecting previously unselected package libturbojpeg0:arm64. Preparing to unpack .../212-libturbojpeg0_1%3a2.1.5-3_arm64.deb ... Unpacking libturbojpeg0:arm64 (1:2.1.5-3) ... Selecting previously unselected package libjpeg-turbo-progs. Preparing to unpack .../213-libjpeg-turbo-progs_1%3a2.1.5-3_arm64.deb ... Unpacking libjpeg-turbo-progs (1:2.1.5-3) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../214-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../215-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../216-libjs-sphinxdoc_7.2.6-6_all.deb ... Unpacking libjs-sphinxdoc (7.2.6-6) ... Selecting previously unselected package libjxr0t64:arm64. Preparing to unpack .../217-libjxr0t64_1.2~git20170615.f752187-5.2_arm64.deb ... Unpacking libjxr0t64:arm64 (1.2~git20170615.f752187-5.2) ... Selecting previously unselected package libjxr-tools. Preparing to unpack .../218-libjxr-tools_1.2~git20170615.f752187-5.2_arm64.deb ... Unpacking libjxr-tools (1.2~git20170615.f752187-5.2) ... Selecting previously unselected package liblapack3:arm64. Preparing to unpack .../219-liblapack3_3.12.0-3_arm64.deb ... Unpacking liblapack3:arm64 (3.12.0-3) ... Selecting previously unselected package liblbfgsb0:arm64. Preparing to unpack .../220-liblbfgsb0_3.0+dfsg.4-1+b1_arm64.deb ... Unpacking liblbfgsb0:arm64 (3.0+dfsg.4-1+b1) ... Selecting previously unselected package liblcms2-2:arm64. Preparing to unpack .../221-liblcms2-2_2.14-2+b1_arm64.deb ... Unpacking liblcms2-2:arm64 (2.14-2+b1) ... Selecting previously unselected package libmd4c0:arm64. Preparing to unpack .../222-libmd4c0_0.4.8-1+b1_arm64.deb ... Unpacking libmd4c0:arm64 (0.4.8-1+b1) ... Selecting previously unselected package libminizip1t64:arm64. Preparing to unpack .../223-libminizip1t64_1%3a1.3.dfsg-3.1_arm64.deb ... Unpacking libminizip1t64:arm64 (1:1.3.dfsg-3.1) ... Selecting previously unselected package libmng1:arm64. Preparing to unpack .../224-libmng1_1.0.10+dfsg-3.1+b5_arm64.deb ... Unpacking libmng1:arm64 (1.0.10+dfsg-3.1+b5) ... Selecting previously unselected package libmtp-common. Preparing to unpack .../225-libmtp-common_1.1.21-3.1_all.deb ... Unpacking libmtp-common (1.1.21-3.1) ... Selecting previously unselected package libusb-1.0-0:arm64. Preparing to unpack .../226-libusb-1.0-0_2%3a1.0.27-1_arm64.deb ... Unpacking libusb-1.0-0:arm64 (2:1.0.27-1) ... Selecting previously unselected package libmtp9t64:arm64. Preparing to unpack .../227-libmtp9t64_1.1.21-3.1_arm64.deb ... Unpacking libmtp9t64:arm64 (1.1.21-3.1) ... Selecting previously unselected package libusb-1.0-0-dev:arm64. Preparing to unpack .../228-libusb-1.0-0-dev_2%3a1.0.27-1_arm64.deb ... Unpacking libusb-1.0-0-dev:arm64 (2:1.0.27-1) ... Selecting previously unselected package libmtp-dev:arm64. Preparing to unpack .../229-libmtp-dev_1.1.21-3.1_arm64.deb ... Unpacking libmtp-dev:arm64 (1.1.21-3.1) ... Selecting previously unselected package libnspr4:arm64. Preparing to unpack .../230-libnspr4_2%3a4.35-1.1+b1_arm64.deb ... Unpacking libnspr4:arm64 (2:4.35-1.1+b1) ... Selecting previously unselected package libnss3:arm64. Preparing to unpack .../231-libnss3_2%3a3.99-1_arm64.deb ... Unpacking libnss3:arm64 (2:3.99-1) ... Selecting previously unselected package libopengl0:arm64. Preparing to unpack .../232-libopengl0_1.7.0-1+b1_arm64.deb ... Unpacking libopengl0:arm64 (1.7.0-1+b1) ... Selecting previously unselected package libopengl-dev:arm64. Preparing to unpack .../233-libopengl-dev_1.7.0-1+b1_arm64.deb ... Unpacking libopengl-dev:arm64 (1.7.0-1+b1) ... Selecting previously unselected package libopenjp2-7:arm64. Preparing to unpack .../234-libopenjp2-7_2.5.0-2+b3_arm64.deb ... Unpacking libopenjp2-7:arm64 (2.5.0-2+b3) ... Selecting previously unselected package libopus0:arm64. Preparing to unpack .../235-libopus0_1.4-1+b1_arm64.deb ... Unpacking libopus0:arm64 (1.4-1+b1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../236-libthai-data_0.1.29-2_all.deb ... Unpacking libthai-data (0.1.29-2) ... Selecting previously unselected package libthai0:arm64. Preparing to unpack .../237-libthai0_0.1.29-2_arm64.deb ... Unpacking libthai0:arm64 (0.1.29-2) ... Selecting previously unselected package libpango-1.0-0:arm64. Preparing to unpack .../238-libpango-1.0-0_1.52.2+ds-1_arm64.deb ... Unpacking libpango-1.0-0:arm64 (1.52.2+ds-1) ... Selecting previously unselected package libpangoft2-1.0-0:arm64. Preparing to unpack .../239-libpangoft2-1.0-0_1.52.2+ds-1_arm64.deb ... Unpacking libpangoft2-1.0-0:arm64 (1.52.2+ds-1) ... Selecting previously unselected package libpangocairo-1.0-0:arm64. Preparing to unpack .../240-libpangocairo-1.0-0_1.52.2+ds-1_arm64.deb ... Unpacking libpangocairo-1.0-0:arm64 (1.52.2+ds-1) ... Selecting previously unselected package libpodofo0.9.8t64. Preparing to unpack .../241-libpodofo0.9.8t64_0.9.8+dfsg-3.1+b2_arm64.deb ... Unpacking libpodofo0.9.8t64 (0.9.8+dfsg-3.1+b2) ... Selecting previously unselected package libssl-dev:arm64. Preparing to unpack .../242-libssl-dev_3.2.1-3_arm64.deb ... Unpacking libssl-dev:arm64 (3.2.1-3) ... Selecting previously unselected package libpodofo-dev. Preparing to unpack .../243-libpodofo-dev_0.9.8+dfsg-3.1+b2_arm64.deb ... Unpacking libpodofo-dev (0.9.8+dfsg-3.1+b2) ... Selecting previously unselected package libpoppler126t64:arm64. Preparing to unpack .../244-libpoppler126t64_22.12.0-2.2+b1_arm64.deb ... Unpacking libpoppler126t64:arm64 (22.12.0-2.2+b1) ... Selecting previously unselected package libproxy1v5:arm64. Preparing to unpack .../245-libproxy1v5_0.5.6-1_arm64.deb ... Unpacking libproxy1v5:arm64 (0.5.6-1) ... Selecting previously unselected package libpython3.11t64:arm64. Preparing to unpack .../246-libpython3.11t64_3.11.9-1_arm64.deb ... Unpacking libpython3.11t64:arm64 (3.11.9-1) ... Selecting previously unselected package libpython3.11-dev:arm64. Preparing to unpack .../247-libpython3.11-dev_3.11.9-1_arm64.deb ... Unpacking libpython3.11-dev:arm64 (3.11.9-1) ... Selecting previously unselected package libpython3-dev:arm64. Preparing to unpack .../248-libpython3-dev_3.11.8-1_arm64.deb ... Unpacking libpython3-dev:arm64 (3.11.8-1) ... Selecting previously unselected package libqt6core6t64:arm64. Preparing to unpack .../249-libqt6core6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6core6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6concurrent6t64:arm64. Preparing to unpack .../250-libqt6concurrent6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6concurrent6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6dbus6t64:arm64. Preparing to unpack .../251-libqt6dbus6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6dbus6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libsm6:arm64. Preparing to unpack .../252-libsm6_2%3a1.2.3-1+b1_arm64.deb ... Unpacking libsm6:arm64 (2:1.2.3-1+b1) ... Selecting previously unselected package libts0t64:arm64. Preparing to unpack .../253-libts0t64_1.22-1.1_arm64.deb ... Unpacking libts0t64:arm64 (1.22-1.1) ... Selecting previously unselected package libxcb-icccm4:arm64. Preparing to unpack .../254-libxcb-icccm4_0.4.1-1.1+b1_arm64.deb ... Unpacking libxcb-icccm4:arm64 (0.4.1-1.1+b1) ... Selecting previously unselected package libxcb-util1:arm64. Preparing to unpack .../255-libxcb-util1_0.4.0-1+b1_arm64.deb ... Unpacking libxcb-util1:arm64 (0.4.0-1+b1) ... Selecting previously unselected package libxcb-image0:arm64. Preparing to unpack .../256-libxcb-image0_0.4.0-2+b1_arm64.deb ... Unpacking libxcb-image0:arm64 (0.4.0-2+b1) ... Selecting previously unselected package libxcb-keysyms1:arm64. Preparing to unpack .../257-libxcb-keysyms1_0.4.0-1+b2_arm64.deb ... Unpacking libxcb-keysyms1:arm64 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-render-util0:arm64. Preparing to unpack .../258-libxcb-render-util0_0.3.9-1+b1_arm64.deb ... Unpacking libxcb-render-util0:arm64 (0.3.9-1+b1) ... Selecting previously unselected package libxcb-shape0:arm64. Preparing to unpack .../259-libxcb-shape0_1.17.0-1_arm64.deb ... Unpacking libxcb-shape0:arm64 (1.17.0-1) ... Selecting previously unselected package libxcb-xkb1:arm64. Preparing to unpack .../260-libxcb-xkb1_1.17.0-1_arm64.deb ... Unpacking libxcb-xkb1:arm64 (1.17.0-1) ... Selecting previously unselected package xkb-data. Preparing to unpack .../261-xkb-data_2.41-2_all.deb ... Unpacking xkb-data (2.41-2) ... Selecting previously unselected package libxkbcommon0:arm64. Preparing to unpack .../262-libxkbcommon0_1.6.0-1+b1_arm64.deb ... Unpacking libxkbcommon0:arm64 (1.6.0-1+b1) ... Selecting previously unselected package libxkbcommon-x11-0:arm64. Preparing to unpack .../263-libxkbcommon-x11-0_1.6.0-1+b1_arm64.deb ... Unpacking libxkbcommon-x11-0:arm64 (1.6.0-1+b1) ... Selecting previously unselected package libqt6gui6t64:arm64. Preparing to unpack .../264-libqt6gui6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6gui6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6network6t64:arm64. Preparing to unpack .../265-libqt6network6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6network6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6opengl6t64:arm64. Preparing to unpack .../266-libqt6opengl6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6opengl6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6widgets6t64:arm64. Preparing to unpack .../267-libqt6widgets6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6widgets6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6openglwidgets6t64:arm64. Preparing to unpack .../268-libqt6openglwidgets6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6openglwidgets6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6positioning6:arm64. Preparing to unpack .../269-libqt6positioning6_6.4.2-3+b2_arm64.deb ... Unpacking libqt6positioning6:arm64 (6.4.2-3+b2) ... Selecting previously unselected package libqt6printsupport6t64:arm64. Preparing to unpack .../270-libqt6printsupport6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6printsupport6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6qml6:arm64. Preparing to unpack .../271-libqt6qml6_6.4.2+dfsg-4+b2_arm64.deb ... Unpacking libqt6qml6:arm64 (6.4.2+dfsg-4+b2) ... Selecting previously unselected package libqt6qmlmodels6:arm64. Preparing to unpack .../272-libqt6qmlmodels6_6.4.2+dfsg-4+b2_arm64.deb ... Unpacking libqt6qmlmodels6:arm64 (6.4.2+dfsg-4+b2) ... Selecting previously unselected package libqt6quick6:arm64. Preparing to unpack .../273-libqt6quick6_6.4.2+dfsg-4+b2_arm64.deb ... Unpacking libqt6quick6:arm64 (6.4.2+dfsg-4+b2) ... Selecting previously unselected package libqt6quickwidgets6:arm64. Preparing to unpack .../274-libqt6quickwidgets6_6.4.2+dfsg-4+b2_arm64.deb ... Unpacking libqt6quickwidgets6:arm64 (6.4.2+dfsg-4+b2) ... Selecting previously unselected package libqt6sql6t64:arm64. Preparing to unpack .../275-libqt6sql6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6sql6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libqt6svg6:arm64. Preparing to unpack .../276-libqt6svg6_6.4.2-4+b2_arm64.deb ... Unpacking libqt6svg6:arm64 (6.4.2-4+b2) ... Selecting previously unselected package libqt6svgwidgets6:arm64. Preparing to unpack .../277-libqt6svgwidgets6_6.4.2-4+b2_arm64.deb ... Unpacking libqt6svgwidgets6:arm64 (6.4.2-4+b2) ... Selecting previously unselected package libqt6test6t64:arm64. Preparing to unpack .../278-libqt6test6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6test6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libwayland-cursor0:arm64. Preparing to unpack .../279-libwayland-cursor0_1.22.0-2.1+b1_arm64.deb ... Unpacking libwayland-cursor0:arm64 (1.22.0-2.1+b1) ... Selecting previously unselected package libqt6waylandclient6:arm64. Preparing to unpack .../280-libqt6waylandclient6_6.4.2-5+b2_arm64.deb ... Unpacking libqt6waylandclient6:arm64 (6.4.2-5+b2) ... Selecting previously unselected package libqt6waylandcompositor6:arm64. Preparing to unpack .../281-libqt6waylandcompositor6_6.4.2-5+b2_arm64.deb ... Unpacking libqt6waylandcompositor6:arm64 (6.4.2-5+b2) ... Selecting previously unselected package libwayland-egl1:arm64. Preparing to unpack .../282-libwayland-egl1_1.22.0-2.1+b1_arm64.deb ... Unpacking libwayland-egl1:arm64 (1.22.0-2.1+b1) ... Selecting previously unselected package libqt6waylandeglclienthwintegration6:arm64. Preparing to unpack .../283-libqt6waylandeglclienthwintegration6_6.4.2-5+b2_arm64.deb ... Unpacking libqt6waylandeglclienthwintegration6:arm64 (6.4.2-5+b2) ... Selecting previously unselected package libqt6waylandeglcompositorhwintegration6:arm64. Preparing to unpack .../284-libqt6waylandeglcompositorhwintegration6_6.4.2-5+b2_arm64.deb ... Unpacking libqt6waylandeglcompositorhwintegration6:arm64 (6.4.2-5+b2) ... Selecting previously unselected package libqt6webchannel6:arm64. Preparing to unpack .../285-libqt6webchannel6_6.4.2-3+b2_arm64.deb ... Unpacking libqt6webchannel6:arm64 (6.4.2-3+b2) ... Selecting previously unselected package libqt6webengine6-data. Preparing to unpack .../286-libqt6webengine6-data_6.4.2-final+dfsg-14_all.deb ... Unpacking libqt6webengine6-data (6.4.2-final+dfsg-14) ... Selecting previously unselected package libsnappy1v5:arm64. Preparing to unpack .../287-libsnappy1v5_1.2.0-2_arm64.deb ... Unpacking libsnappy1v5:arm64 (1.2.0-2) ... Selecting previously unselected package libvpx8:arm64. Preparing to unpack .../288-libvpx8_1.13.1-2+b1_arm64.deb ... Unpacking libvpx8:arm64 (1.13.1-2+b1) ... Selecting previously unselected package libwebpdemux2:arm64. Preparing to unpack .../289-libwebpdemux2_1.3.2-0.4+b1_arm64.deb ... Unpacking libwebpdemux2:arm64 (1.3.2-0.4+b1) ... Selecting previously unselected package libwebpmux3:arm64. Preparing to unpack .../290-libwebpmux3_1.3.2-0.4+b1_arm64.deb ... Unpacking libwebpmux3:arm64 (1.3.2-0.4+b1) ... Selecting previously unselected package libxcomposite1:arm64. Preparing to unpack .../291-libxcomposite1_1%3a0.4.5-1+b1_arm64.deb ... Unpacking libxcomposite1:arm64 (1:0.4.5-1+b1) ... Selecting previously unselected package libxdamage1:arm64. Preparing to unpack .../292-libxdamage1_1%3a1.1.6-1+b1_arm64.deb ... Unpacking libxdamage1:arm64 (1:1.1.6-1+b1) ... Selecting previously unselected package libxkbfile1:arm64. Preparing to unpack .../293-libxkbfile1_1%3a1.1.0-1+b1_arm64.deb ... Unpacking libxkbfile1:arm64 (1:1.1.0-1+b1) ... Selecting previously unselected package libxrandr2:arm64. Preparing to unpack .../294-libxrandr2_2%3a1.5.4-1_arm64.deb ... Unpacking libxrandr2:arm64 (2:1.5.4-1) ... Selecting previously unselected package libxslt1.1:arm64. Preparing to unpack .../295-libxslt1.1_1.1.35-1+b1_arm64.deb ... Unpacking libxslt1.1:arm64 (1.1.35-1+b1) ... Selecting previously unselected package libxtst6:arm64. Preparing to unpack .../296-libxtst6_2%3a1.2.3-1.1+b1_arm64.deb ... Unpacking libxtst6:arm64 (2:1.2.3-1.1+b1) ... Selecting previously unselected package libqt6webenginecore6:arm64. Preparing to unpack .../297-libqt6webenginecore6_6.4.2-final+dfsg-14_arm64.deb ... Unpacking libqt6webenginecore6:arm64 (6.4.2-final+dfsg-14) ... Selecting previously unselected package libqt6webenginecore6-bin. Preparing to unpack .../298-libqt6webenginecore6-bin_6.4.2-final+dfsg-14_arm64.deb ... Unpacking libqt6webenginecore6-bin (6.4.2-final+dfsg-14) ... Selecting previously unselected package libqt6webenginequick6:arm64. Preparing to unpack .../299-libqt6webenginequick6_6.4.2-final+dfsg-14_arm64.deb ... Unpacking libqt6webenginequick6:arm64 (6.4.2-final+dfsg-14) ... Selecting previously unselected package libqt6webenginewidgets6:arm64. Preparing to unpack .../300-libqt6webenginewidgets6_6.4.2-final+dfsg-14_arm64.deb ... Unpacking libqt6webenginewidgets6:arm64 (6.4.2-final+dfsg-14) ... Selecting previously unselected package libqt6wlshellintegration6:arm64. Preparing to unpack .../301-libqt6wlshellintegration6_6.4.2-5+b2_arm64.deb ... Unpacking libqt6wlshellintegration6:arm64 (6.4.2-5+b2) ... Selecting previously unselected package libqt6xml6t64:arm64. Preparing to unpack .../302-libqt6xml6t64_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking libqt6xml6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package libraqm0:arm64. Preparing to unpack .../303-libraqm0_0.10.1-1+b1_arm64.deb ... Unpacking libraqm0:arm64 (0.10.1-1+b1) ... Selecting previously unselected package librsvg2-2:arm64. Preparing to unpack .../304-librsvg2-2_2.58.0+dfsg-1_arm64.deb ... Unpacking librsvg2-2:arm64 (2.58.0+dfsg-1) ... Selecting previously unselected package librsvg2-bin. Preparing to unpack .../305-librsvg2-bin_2.58.0+dfsg-1_arm64.deb ... Unpacking librsvg2-bin (2.58.0+dfsg-1) ... Selecting previously unselected package libsqlite3-dev:arm64. Preparing to unpack .../306-libsqlite3-dev_3.45.3-1_arm64.deb ... Unpacking libsqlite3-dev:arm64 (3.45.3-1) ... Selecting previously unselected package libstemmer0d:arm64. Preparing to unpack .../307-libstemmer0d_2.2.0-4+b1_arm64.deb ... Unpacking libstemmer0d:arm64 (2.2.0-4+b1) ... Selecting previously unselected package libstemmer-dev:arm64. Preparing to unpack .../308-libstemmer-dev_2.2.0-4+b1_arm64.deb ... Unpacking libstemmer-dev:arm64 (2.2.0-4+b1) ... Selecting previously unselected package uchardet. Preparing to unpack .../309-uchardet_0.0.8-1+b1_arm64.deb ... Unpacking uchardet (0.0.8-1+b1) ... Selecting previously unselected package libuchardet-dev:arm64. Preparing to unpack .../310-libuchardet-dev_0.0.8-1+b1_arm64.deb ... Unpacking libuchardet-dev:arm64 (0.0.8-1+b1) ... Selecting previously unselected package libvulkan-dev:arm64. Preparing to unpack .../311-libvulkan-dev_1.3.280.0-1_arm64.deb ... Unpacking libvulkan-dev:arm64 (1.3.280.0-1) ... Selecting previously unselected package libxkbcommon-dev:arm64. Preparing to unpack .../312-libxkbcommon-dev_1.6.0-1+b1_arm64.deb ... Unpacking libxkbcommon-dev:arm64 (1.6.0-1+b1) ... Selecting previously unselected package optipng. Preparing to unpack .../313-optipng_0.7.8+ds-1+b1_arm64.deb ... Unpacking optipng (0.7.8+ds-1+b1) ... Selecting previously unselected package poppler-utils. Preparing to unpack .../314-poppler-utils_22.12.0-2.2+b1_arm64.deb ... Unpacking poppler-utils (22.12.0-2.2+b1) ... Selecting previously unselected package pyqt6-dev. Preparing to unpack .../315-pyqt6-dev_6.6.1-2_all.deb ... Unpacking pyqt6-dev (6.6.1-2) ... Selecting previously unselected package python3-pyqt6.sip. Preparing to unpack .../316-python3-pyqt6.sip_13.6.0-1+b1_arm64.deb ... Unpacking python3-pyqt6.sip (13.6.0-1+b1) ... Selecting previously unselected package python3-pyqt6. Preparing to unpack .../317-python3-pyqt6_6.6.1-2+b1_arm64.deb ... Unpacking python3-pyqt6 (6.6.1-2+b1) ... Selecting previously unselected package pyqt6-dev-tools. Preparing to unpack .../318-pyqt6-dev-tools_6.6.1-2_all.deb ... Unpacking pyqt6-dev-tools (6.6.1-2) ... Selecting previously unselected package python3-appdirs. Preparing to unpack .../319-python3-appdirs_1.4.4-4_all.deb ... Unpacking python3-appdirs (1.4.4-4) ... Selecting previously unselected package python3-apsw. Preparing to unpack .../320-python3-apsw_3.45.3.0-1_arm64.deb ... Unpacking python3-apsw (3.45.3.0-1) ... Selecting previously unselected package python3-six. Preparing to unpack .../321-python3-six_1.16.0-6_all.deb ... Unpacking python3-six (1.16.0-6) ... Selecting previously unselected package python3-asttokens. Preparing to unpack .../322-python3-asttokens_2.4.1-1_all.deb ... Unpacking python3-asttokens (2.4.1-1) ... Selecting previously unselected package python3-async-timeout. Preparing to unpack .../323-python3-async-timeout_4.0.3-1_all.deb ... Unpacking python3-async-timeout (4.0.3-1) ... Selecting previously unselected package python3-attr. Preparing to unpack .../324-python3-attr_23.2.0-2_all.deb ... Unpacking python3-attr (23.2.0-2) ... Selecting previously unselected package python3-brotli. Preparing to unpack .../325-python3-brotli_1.1.0-2+b3_arm64.deb ... Unpacking python3-brotli (1.1.0-2+b3) ... Selecting previously unselected package python3-soupsieve. Preparing to unpack .../326-python3-soupsieve_2.5-1_all.deb ... Unpacking python3-soupsieve (2.5-1) ... Selecting previously unselected package python3-bs4. Preparing to unpack .../327-python3-bs4_4.12.3-1_all.deb ... Unpacking python3-bs4 (4.12.3-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../328-python3-chardet_5.2.0+dfsg-1_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-1) ... Selecting previously unselected package python3-chm. Preparing to unpack .../329-python3-chm_0.8.6+ds-1_arm64.deb ... Unpacking python3-chm (0.8.6+ds-1) ... Selecting previously unselected package python3-css-parser. Preparing to unpack .../330-python3-css-parser_1.0.10-1_all.deb ... Unpacking python3-css-parser (1.0.10-1) ... Selecting previously unselected package python3-cssselect. Preparing to unpack .../331-python3-cssselect_1.2.0-4_all.deb ... Unpacking python3-cssselect (1.2.0-4) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../332-python3-dateutil_2.9.0-2_all.deb ... Unpacking python3-dateutil (2.9.0-2) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../333-python3-decorator_5.1.1-5_all.deb ... Unpacking python3-decorator (5.1.1-5) ... Selecting previously unselected package python3.11-dev. Preparing to unpack .../334-python3.11-dev_3.11.9-1_arm64.deb ... Unpacking python3.11-dev (3.11.9-1) ... Selecting previously unselected package python3-dev. Preparing to unpack .../335-python3-dev_3.11.8-1_arm64.deb ... Unpacking python3-dev (3.11.8-1) ... Selecting previously unselected package python3-executing. Preparing to unpack .../336-python3-executing_2.0.1-0.1_all.deb ... Unpacking python3-executing (2.0.1-0.1) ... Selecting previously unselected package python3-sgmllib3k. Preparing to unpack .../337-python3-sgmllib3k_1.0.0-4_all.deb ... Unpacking python3-sgmllib3k (1.0.0-4) ... Selecting previously unselected package python3-feedparser. Preparing to unpack .../338-python3-feedparser_6.0.11-1_all.deb ... Unpacking python3-feedparser (6.0.11-1) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../339-python3-numpy_1%3a1.26.4+ds-8_arm64.deb ... Unpacking python3-numpy (1:1.26.4+ds-8) ... Selecting previously unselected package python3-scipy. Preparing to unpack .../340-python3-scipy_1.11.4-6_arm64.deb ... Unpacking python3-scipy (1.11.4-6) ... Selecting previously unselected package python3-ufolib2. Preparing to unpack .../341-python3-ufolib2_0.16.0+dfsg1-1_all.deb ... Unpacking python3-ufolib2 (0.16.0+dfsg1-1) ... Selecting previously unselected package python3-mpmath. Preparing to unpack .../342-python3-mpmath_1.3.0-1_all.deb ... Unpacking python3-mpmath (1.3.0-1) ... Selecting previously unselected package python3-sympy. Preparing to unpack .../343-python3-sympy_1.12-7_all.deb ... Unpacking python3-sympy (1.12-7) ... Selecting previously unselected package python3-tz. Preparing to unpack .../344-python3-tz_2024.1-2_all.deb ... Unpacking python3-tz (2024.1-2) ... Selecting previously unselected package python3-fs. Preparing to unpack .../345-python3-fs_2.4.16-4_all.deb ... Unpacking python3-fs (2.4.16-4) ... Selecting previously unselected package python3-lxml:arm64. Preparing to unpack .../346-python3-lxml_5.2.1-1_arm64.deb ... Unpacking python3-lxml:arm64 (5.2.1-1) ... Selecting previously unselected package python3-lz4. Preparing to unpack .../347-python3-lz4_4.0.2+dfsg-1+b3_arm64.deb ... Unpacking python3-lz4 (4.0.2+dfsg-1+b3) ... Selecting previously unselected package python3-unicodedata2. Preparing to unpack .../348-python3-unicodedata2_15.1.0+ds-1+b1_arm64.deb ... Unpacking python3-unicodedata2 (15.1.0+ds-1+b1) ... Selecting previously unselected package unicode-data. Preparing to unpack .../349-unicode-data_15.1.0-1_all.deb ... Unpacking unicode-data (15.1.0-1) ... Selecting previously unselected package python3-fonttools. Preparing to unpack .../350-python3-fonttools_4.46.0-1_arm64.deb ... Unpacking python3-fonttools (4.46.0-1) ... Selecting previously unselected package python3-html2text. Preparing to unpack .../351-python3-html2text_2024.2.26-1_all.deb ... Unpacking python3-html2text (2024.2.26-1) ... Selecting previously unselected package python3-html5-parser. Preparing to unpack .../352-python3-html5-parser_0.4.12+ds-1+b1_arm64.deb ... Unpacking python3-html5-parser (0.4.12+ds-1+b1) ... Selecting previously unselected package python3-webencodings. Preparing to unpack .../353-python3-webencodings_0.5.1-5_all.deb ... Unpacking python3-webencodings (0.5.1-5) ... Selecting previously unselected package python3-html5lib. Preparing to unpack .../354-python3-html5lib_1.1-6_all.deb ... Unpacking python3-html5lib (1.1-6) ... Selecting previously unselected package python3-ifaddr. Preparing to unpack .../355-python3-ifaddr_0.2.0-1_all.deb ... Unpacking python3-ifaddr (0.2.0-1) ... Selecting previously unselected package python3-parso. Preparing to unpack .../356-python3-parso_0.8.3-1_all.deb ... Unpacking python3-parso (0.8.3-1) ... Selecting previously unselected package python3-typeshed. Preparing to unpack .../357-python3-typeshed_0.0~git20231111.6764465-3_all.deb ... Unpacking python3-typeshed (0.0~git20231111.6764465-3) ... Selecting previously unselected package python3-jedi. Preparing to unpack .../358-python3-jedi_0.19.1+ds1-1_all.deb ... Unpacking python3-jedi (0.19.1+ds1-1) ... Selecting previously unselected package python3-traitlets. Preparing to unpack .../359-python3-traitlets_5.14.3-1_all.deb ... Unpacking python3-traitlets (5.14.3-1) ... Selecting previously unselected package python3-matplotlib-inline. Preparing to unpack .../360-python3-matplotlib-inline_0.1.6-2_all.deb ... Unpacking python3-matplotlib-inline (0.1.6-2) ... Selecting previously unselected package python3-ptyprocess. Preparing to unpack .../361-python3-ptyprocess_0.7.0-5_all.deb ... Unpacking python3-ptyprocess (0.7.0-5) ... Selecting previously unselected package python3-pexpect. Preparing to unpack .../362-python3-pexpect_4.9-2_all.deb ... Unpacking python3-pexpect (4.9-2) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../363-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... Selecting previously unselected package python3-prompt-toolkit. Preparing to unpack .../364-python3-prompt-toolkit_3.0.43-2_all.deb ... Unpacking python3-prompt-toolkit (3.0.43-2) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../365-python3-pygments_2.17.2+dfsg-1_all.deb ... Unpacking python3-pygments (2.17.2+dfsg-1) ... Selecting previously unselected package python3-pure-eval. Preparing to unpack .../366-python3-pure-eval_0.2.2-2_all.deb ... Unpacking python3-pure-eval (0.2.2-2) ... Selecting previously unselected package python3-stack-data. Preparing to unpack .../367-python3-stack-data_0.6.3-1_all.deb ... Unpacking python3-stack-data (0.6.3-1) ... Selecting previously unselected package python3-ipython. Preparing to unpack .../368-python3-ipython_8.20.0-1_all.deb ... Unpacking python3-ipython (8.20.0-1) ... Selecting previously unselected package python3-jeepney. Preparing to unpack .../369-python3-jeepney_0.8.0-3_all.deb ... Unpacking python3-jeepney (0.8.0-3) ... Selecting previously unselected package python3-lxml-html-clean. Preparing to unpack .../370-python3-lxml-html-clean_0.1.1-1_all.deb ... Unpacking python3-lxml-html-clean (0.1.1-1) ... Selecting previously unselected package python3-markdown. Preparing to unpack .../371-python3-markdown_3.6-1_all.deb ... Unpacking python3-markdown (3.6-1) ... Selecting previously unselected package python3-mechanize. Preparing to unpack .../372-python3-mechanize_1%3a0.4.10+ds-1_all.deb ... Unpacking python3-mechanize (1:0.4.10+ds-1) ... Selecting previously unselected package python3-msgpack. Preparing to unpack .../373-python3-msgpack_1.0.3-3+b1_arm64.deb ... Unpacking python3-msgpack (1.0.3-3+b1) ... Selecting previously unselected package python3-netifaces:arm64. Preparing to unpack .../374-python3-netifaces_0.11.0-2+b2_arm64.deb ... Unpacking python3-netifaces:arm64 (0.11.0-2+b2) ... Selecting previously unselected package python3-pil:arm64. Preparing to unpack .../375-python3-pil_10.3.0-2_arm64.deb ... Unpacking python3-pil:arm64 (10.3.0-2) ... Selecting previously unselected package python3-ply. Preparing to unpack .../376-python3-ply_3.11-6_all.deb ... Unpacking python3-ply (3.11-6) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../377-python3-psutil_5.9.8-2_arm64.deb ... Unpacking python3-psutil (5.9.8-2) ... Selecting previously unselected package python3-pycryptodome. Preparing to unpack .../378-python3-pycryptodome_3.20.0+dfsg-1_arm64.deb ... Unpacking python3-pycryptodome (3.20.0+dfsg-1) ... Selecting previously unselected package python3-texttable. Preparing to unpack .../379-python3-texttable_1.6.7-1_all.deb ... Unpacking python3-texttable (1.6.7-1) ... Selecting previously unselected package python3-py7zr. Preparing to unpack .../380-python3-py7zr_0.11.3+dfsg-8_arm64.deb ... Unpacking python3-py7zr (0.11.3+dfsg-8) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../381-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-pyqt6.qtqml. Preparing to unpack .../382-python3-pyqt6.qtqml_6.6.1-2+b1_arm64.deb ... Unpacking python3-pyqt6.qtqml (6.6.1-2+b1) ... Selecting previously unselected package python3-pyqt6.qtquick. Preparing to unpack .../383-python3-pyqt6.qtquick_6.6.1-2+b1_arm64.deb ... Unpacking python3-pyqt6.qtquick (6.6.1-2+b1) ... Selecting previously unselected package python3-pyqt6.qtsvg. Preparing to unpack .../384-python3-pyqt6.qtsvg_6.6.1-2+b1_arm64.deb ... Unpacking python3-pyqt6.qtsvg (6.6.1-2+b1) ... Selecting previously unselected package python3-pyqt6.qtwebchannel. Preparing to unpack .../385-python3-pyqt6.qtwebchannel_6.6.1-2+b1_arm64.deb ... Unpacking python3-pyqt6.qtwebchannel (6.6.1-2+b1) ... Selecting previously unselected package python3-pyqt6.qtwebengine. Preparing to unpack .../386-python3-pyqt6.qtwebengine_6.6.0-1+b1_arm64.deb ... Unpacking python3-pyqt6.qtwebengine (6.6.0-1+b1) ... Selecting previously unselected package python3-sipbuild. Preparing to unpack .../387-python3-sipbuild_6.8.3+dfsg-1_all.deb ... Unpacking python3-sipbuild (6.8.3+dfsg-1) ... Selecting previously unselected package python3-pyqtbuild. Preparing to unpack .../388-python3-pyqtbuild_1.16.2+dfsg-1_all.deb ... Unpacking python3-pyqtbuild (1.16.2+dfsg-1) ... Selecting previously unselected package python3-regex. Preparing to unpack .../389-python3-regex_0.1.20221031-2_arm64.deb ... Unpacking python3-regex (0.1.20221031-2) ... Selecting previously unselected package python3-repoze.lru. Preparing to unpack .../390-python3-repoze.lru_0.7-3_all.deb ... Unpacking python3-repoze.lru (0.7-3) ... Selecting previously unselected package python3-routes. Preparing to unpack .../391-python3-routes_2.5.1-3_all.deb ... Unpacking python3-routes (2.5.1-3) ... Selecting previously unselected package python3-xdg. Preparing to unpack .../392-python3-xdg_0.28-2_all.deb ... Unpacking python3-xdg (0.28-2) ... Selecting previously unselected package python3-speechd. Preparing to unpack .../393-python3-speechd_0.11.5-4_all.deb ... Unpacking python3-speechd (0.11.5-4) ... Selecting previously unselected package python3-xxhash. Preparing to unpack .../394-python3-xxhash_3.2.0-1+b2_arm64.deb ... Unpacking python3-xxhash (3.2.0-1+b2) ... Selecting previously unselected package python3-zeroconf. Preparing to unpack .../395-python3-zeroconf_0.132.2-2_all.deb ... Unpacking python3-zeroconf (0.132.2-2) ... Selecting previously unselected package python3-zstd. Preparing to unpack .../396-python3-zstd_1.5.5.1-1_arm64.deb ... Unpacking python3-zstd (1.5.5.1-1) ... Selecting previously unselected package qmake6-bin. Preparing to unpack .../397-qmake6-bin_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking qmake6-bin (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package qmake6:arm64. Preparing to unpack .../398-qmake6_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking qmake6:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package qt6-base-dev-tools. Preparing to unpack .../399-qt6-base-dev-tools_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking qt6-base-dev-tools (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package qt6-qpa-plugins:arm64. Preparing to unpack .../400-qt6-qpa-plugins_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking qt6-qpa-plugins:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package qt6-base-dev:arm64. Preparing to unpack .../401-qt6-base-dev_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking qt6-base-dev:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package qt6-base-private-dev:arm64. Preparing to unpack .../402-qt6-base-private-dev_6.4.2+dfsg-21.1+b1_arm64.deb ... Unpacking qt6-base-private-dev:arm64 (6.4.2+dfsg-21.1+b1) ... Selecting previously unselected package qt6-image-formats-plugins. Preparing to unpack .../403-qt6-image-formats-plugins_6.4.2-5+b1_arm64.deb ... Unpacking qt6-image-formats-plugins (6.4.2-5+b1) ... Selecting previously unselected package qt6-wayland:arm64. Preparing to unpack .../404-qt6-wayland_6.4.2-5+b2_arm64.deb ... Unpacking qt6-wayland:arm64 (6.4.2-5+b2) ... Selecting previously unselected package webp. Preparing to unpack .../405-webp_1.3.2-0.4+b1_arm64.deb ... Unpacking webp (1.3.2-0.4+b1) ... Selecting previously unselected package xdg-utils. Preparing to unpack .../406-xdg-utils_1.1.3-4.1_all.deb ... Unpacking xdg-utils (1.1.3-4.1) ... Setting up media-types (10.1.0) ... Setting up libb2-1:arm64 (0.98.1-1.1+b1) ... Setting up libpipeline1:arm64 (1.5.7-2) ... Setting up libgraphite2-3:arm64 (1.3.14-2) ... Setting up liblcms2-2:arm64 (2.14-2+b1) ... Setting up libpixman-1-0:arm64 (0.42.2-1+b1) ... Setting up libsharpyuv0:arm64 (1.3.2-0.4+b1) ... Setting up libwayland-server0:arm64 (1.22.0-2.1+b1) ... Setting up libqt6webengine6-data (6.4.2-final+dfsg-14) ... Setting up libxau6:arm64 (1:1.0.9-1+b1) ... Setting up libdouble-conversion3:arm64 (3.3.0-1+b1) ... Setting up libkeyutils1:arm64 (1.6.3-3) ... Setting up libboost1.83-dev:arm64 (1.83.0-2.1+b1) ... Setting up libicu72:arm64 (72.1-4+b1) ... Setting up liblerc4:arm64 (4.0.0+ds-4+b1) ... Setting up bsdextrautils (2.40-8) ... Setting up libhyphen0:arm64 (2.8.8-7+b1) ... Setting up libdatrie1:arm64 (0.2.13-3) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up pyqt6-dev (6.6.1-2) ... Setting up libglvnd0:arm64 (1.7.0-1+b1) ... Setting up libts0t64:arm64 (1.22-1.1) ... Setting up libdebhelper-perl (13.15.3) ... Setting up libbrotli1:arm64 (1.1.0-2+b3) ... Setting up libgdk-pixbuf2.0-common (2.42.10+dfsg-3) ... Setting up libuv1t64:arm64 (1.48.0-1.1) ... Setting up libmagic1t64:arm64 (1:5.45-3) ... Setting up x11-common (1:7.7+23) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libsensors-config (1:3.6.0-9) ... Setting up libpsl5t64:arm64 (0.21.2-1.1) ... Setting up libnghttp2-14:arm64 (1.61.0-1+b1) ... Setting up libdeflate0:arm64 (1.20-1) ... Setting up gettext-base (0.21-14+b1) ... Setting up m4 (1.4.19-4) ... Setting up libevent-2.1-7t64:arm64 (2.1.12-stable-8.1+b3) ... Setting up xkb-data (2.41-2) ... Setting up libcom-err2:arm64 (1.47.1~rc2-1) ... Setting up file (1:5.45-3) ... Setting up libffi-dev:arm64 (3.4.6-1) ... Setting up libturbojpeg0:arm64 (1:2.1.5-3) ... Setting up libpthread-stubs0-dev:arm64 (0.4-1+b1) ... Setting up libjbig0:arm64 (2.1-6.1+b1) ... Setting up libpcre2-16-0:arm64 (10.42-4+b1) ... Setting up libopengl0:arm64 (1.7.0-1+b1) ... Setting up libelf1t64:arm64 (0.191-1+b1) ... Setting up libsnappy1v5:arm64 (1.2.0-2) ... Setting up libkrb5support0:arm64 (1.20.1-6+b1) ... Setting up libsasl2-modules-db:arm64 (2.1.28+dfsg1-6) ... Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' Local time is now: Sat May 4 01:55:42 UTC 2024. Universal Time is now: Sat May 4 01:55:42 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up unicode-data (15.1.0-1) ... Setting up xtrans-dev (1.4.0-1) ... Setting up autotools-dev (20220109.1) ... Setting up libz3-4:arm64 (4.8.12-3.1+b2) ... Setting up libpcre2-32-0:arm64 (10.42-4+b1) ... Setting up libglib2.0-0t64:arm64 (2.78.4-7) ... No schema files found: doing nothing. Setting up libblas3:arm64 (3.12.0-3) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode Setting up libglib2.0-data (2.78.4-7) ... Setting up libpkgconf3:arm64 (1.8.1-1+b2) ... Setting up libexpat1-dev:arm64 (2.6.2-1) ... Setting up libjpeg62-turbo:arm64 (1:2.1.5-3) ... Setting up libjxr0t64:arm64 (1.2~git20170615.f752187-5.2) ... Setting up libsqlite3-dev:arm64 (3.45.3-1) ... Setting up libx11-data (2:1.8.7-1) ... Setting up libnspr4:arm64 (2:4.35-1.1+b1) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2+b4) ... Setting up uuid-dev:arm64 (2.40-8) ... Setting up libavahi-common-data:arm64 (0.8-13+b2) ... Setting up libdbus-1-3:arm64 (1.14.10-4+b1) ... Setting up libfribidi0:arm64 (1.0.13-3+b1) ... Setting up libmtp-common (1.1.21-3.1) ... Setting up libopus0:arm64 (1.4-1+b1) ... Setting up libhyphen-dev:arm64 (2.8.8-7+b1) ... Setting up libimagequant0:arm64 (2.18.0-1+b1) ... Setting up libproc2-0:arm64 (2:4.0.4-4) ... Setting up libssl-dev:arm64 (3.2.1-3) ... Setting up libpng16-16t64:arm64 (1.6.43-5) ... Setting up libchm1 (2:0.40a-8+b1) ... Setting up libidn12:arm64 (1.42-2) ... Setting up autopoint (0.21-14) ... Setting up libjsoncpp25:arm64 (1.9.5-6+b2) ... Setting up icu-devtools (72.1-4+b1) ... Setting up libudev-dev:arm64 (255.5-1) ... Setting up libsepol-dev:arm64 (3.5-2+b1) ... Setting up pkgconf-bin (1.8.1-1+b2) ... Setting up gir1.2-glib-2.0:arm64 (1.78.1-19) ... Setting up libsensors5:arm64 (1:3.6.0-9) ... Setting up libvpx8:arm64 (1.13.1-2+b1) ... Setting up libk5crypto3:arm64 (1.20.1-6+b1) ... Setting up libglapi-mesa:arm64 (24.0.6-1+b1) ... Setting up libsasl2-2:arm64 (2.1.28+dfsg1-6) ... Setting up libgfortran5:arm64 (14-20240429-1) ... Setting up libvulkan1:arm64 (1.3.280.0-1) ... Setting up autoconf (2.71-3) ... Setting up libwebp7:arm64 (1.3.2-0.4+b1) ... Setting up libgif7:arm64 (5.2.2-1) ... Setting up zlib1g-dev:arm64 (1:1.3.dfsg-3.1) ... Setting up libpcre2-posix3:arm64 (10.42-4+b1) ... Setting up dwz (0.15-1+b1) ... Setting up libmtdev1t64:arm64 (1.1.6-1.2) ... Setting up sensible-utils (0.0.22) ... Setting up libminizip1t64:arm64 (1:1.3.dfsg-3.1) ... Setting up libduktape207:arm64 (2.7.0-2+b1) ... Setting up gir1.2-glib-2.0-dev:arm64 (1.78.1-19) ... Setting up libxshmfence1:arm64 (1.3-1+b1) ... Setting up librhash0:arm64 (1.4.3-3+b1) ... Setting up libtiff6:arm64 (4.5.1+git230720-4) ... Setting up libuchardet0:arm64 (0.0.8-1+b1) ... Setting up procps (2:4.0.4-4) ... Setting up fonts-liberation (1:2.1.5-3) ... Setting up libmd4c0:arm64 (0.4.8-1+b1) ... Setting up libopenjp2-7:arm64 (2.5.0-2+b3) ... Setting up libsub-override-perl (0.10-1) ... Setting up libthai-data (0.1.29-2) ... Setting up xorg-sgml-doctools (1:1.11-1.1) ... Setting up netbase (6.4) ... Setting up cmake-data (3.29.2-2) ... Setting up libkrb5-3:arm64 (1.20.1-6+b1) ... Setting up libboost-dev:arm64 (1.83.0.2+b2) ... Setting up libwayland-egl1:arm64 (1.22.0-2.1+b1) ... Setting up libusb-1.0-0:arm64 (2:1.0.27-1) ... Setting up libstemmer0d:arm64 (2.2.0-4+b1) ... Setting up libssh2-1t64:arm64 (1.11.0-4.1+b2) ... Setting up libopengl-dev:arm64 (1.7.0-1+b1) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10+b2) ... Setting up openssl (3.2.1-3) ... Setting up libwebpmux3:arm64 (1.3.2-0.4+b1) ... Setting up libbsd0:arm64 (0.12.2-1) ... Setting up libdrm-common (2.4.120-2) ... Setting up libhunspell-dev:arm64 (1.7.2+really1.7.2-10+b2) ... Setting up libevdev2:arm64 (1.13.1+dfsg-1+b1) ... Setting up readline-common (8.2-4) ... Setting up libicu-dev:arm64 (72.1-4+b1) ... Setting up libxml2:arm64 (2.9.14+dfsg-1.3+b3) ... Setting up xdg-utils (1.1.3-4.1) ... update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode Setting up libbrotli-dev:arm64 (1.1.0-2+b3) ... Setting up libgudev-1.0-0:arm64 (238-5) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up libwacom-common (2.10.0-2) ... Setting up libbz2-dev:arm64 (1.0.8-5.1) ... Setting up libxkbcommon0:arm64 (1.6.0-1+b1) ... Setting up libwayland-client0:arm64 (1.22.0-2.1+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libmng1:arm64 (1.0.10+dfsg-3.1+b5) ... Setting up x11proto-dev (2024.1-1) ... Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up libblkid-dev:arm64 (2.40-8) ... Setting up libice6:arm64 (2:1.0.10-1+b1) ... Setting up libxdmcp6:arm64 (1:1.1.2-3+b1) ... Setting up liblapack3:arm64 (3.12.0-3) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode Setting up libxcb1:arm64 (1.17.0-1) ... Setting up gettext (0.21-14+b1) ... Setting up libchm-dev:arm64 (2:0.40a-8+b1) ... Setting up libxcb-xfixes0:arm64 (1.17.0-1) ... Setting up libxau-dev:arm64 (1:1.0.9-1+b1) ... Setting up libjxr-tools (1.2~git20170615.f752187-5.2) ... Setting up libpcre2-dev:arm64 (10.42-4+b1) ... Setting up libevdev-dev:arm64 (1.13.1+dfsg-1+b1) ... Setting up libtool (2.4.7-7) ... Setting up libxcb-render0:arm64 (1.17.0-1) ... Setting up libwacom9:arm64 (2.10.0-2) ... Setting up libselinux1-dev:arm64 (3.5-2+b2) ... Setting up libmtdev-dev:arm64 (1.1.6-1.2) ... Setting up fontconfig-config (2.15.0-1.1) ... Setting up libxcb-glx0:arm64 (1.17.0-1) ... Setting up libwebpdemux2:arm64 (1.3.2-0.4+b1) ... Setting up libxkbcommon-dev:arm64 (1.6.0-1+b1) ... Setting up libedit2:arm64 (3.1-20230828-1+b1) ... Setting up libpng-dev:arm64 (1.6.43-5) ... Setting up libxcb-keysyms1:arm64 (0.4.0-1+b2) ... Setting up libxcb-shape0:arm64 (1.17.0-1) ... Setting up libavahi-common3:arm64 (0.8-13+b2) ... Setting up libjpeg-turbo-progs (1:2.1.5-3) ... Setting up libglib2.0-bin (2.78.4-7) ... Setting up libusb-1.0-0-dev:arm64 (2:1.0.27-1) ... Setting up libxcb-render-util0:arm64 (0.3.9-1+b1) ... Setting up libnss3:arm64 (2:3.99-1) ... Setting up libxcb-shm0:arm64 (1.17.0-1) ... Setting up libxcb-icccm4:arm64 (0.4.1-1.1+b1) ... Setting up libldap-2.5-0:arm64 (2.5.17+dfsg-1) ... Setting up libxcb-util1:arm64 (0.4.0-1+b1) ... Setting up pkgconf:arm64 (1.8.1-1+b2) ... Setting up libinput-bin (1.25.0-1+b2) ... Setting up libxcb-xkb1:arm64 (1.17.0-1) ... Setting up libxcb-image0:arm64 (0.4.0-2+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up libxcb-present0:arm64 (1.17.0-1) ... Setting up dh-autoreconf (20) ... Setting up libthai0:arm64 (0.1.29-2) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libxdmcp-dev:arm64 (1:1.1.2-3+b1) ... Setting up libllvm17t64:arm64 (1:17.0.6-11) ... Setting up libfreetype6:arm64 (2.13.2+dfsg-1+b4) ... Setting up libxcb-sync1:arm64 (1.17.0-1) ... Setting up optipng (0.7.8+ds-1+b1) ... Setting up shared-mime-info (2.4-4) ... Setting up gir1.2-gudev-1.0:arm64 (238-5) ... Setting up libxkbcommon-x11-0:arm64 (1.6.0-1+b1) ... Setting up libgssapi-krb5-2:arm64 (1.20.1-6+b1) ... Setting up libstemmer-dev:arm64 (2.2.0-4+b1) ... Setting up libjs-sphinxdoc (7.2.6-6) ... Setting up libreadline8t64:arm64 (8.2-4) ... Setting up libxcb-dri2-0:arm64 (1.17.0-1) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up libdrm2:arm64 (2.4.120-2) ... Setting up uchardet (0.0.8-1+b1) ... Setting up groff-base (1.23.0-4) ... Setting up libmtp9t64:arm64 (1.1.21-3.1) ... Setting up libwayland-cursor0:arm64 (1.22.0-2.1+b1) ... Setting up libxcb-randr0:arm64 (1.17.0-1) ... Setting up libxslt1.1:arm64 (1.1.35-1+b1) ... Setting up libx11-6:arm64 (2:1.8.7-1+b1) ... Setting up libharfbuzz0b:arm64 (8.3.0-2+b1) ... Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.10+dfsg-3+b3) ... Setting up libfontconfig1:arm64 (2.15.0-1.1) ... Setting up libxkbfile1:arm64 (1:1.1.0-1+b1) ... Setting up libxcomposite1:arm64 (1:0.4.5-1+b1) ... Setting up libsm6:arm64 (2:1.2.3-1+b1) ... Setting up libarchive13t64:arm64 (3.7.2-2) ... Setting up libavahi-client3:arm64 (0.8-13+b2) ... Setting up libmount-dev:arm64 (2.40-8) ... Setting up libuchardet-dev:arm64 (0.0.8-1+b1) ... Setting up liblbfgsb0:arm64 (3.0+dfsg.4-1+b1) ... Setting up libdrm-amdgpu1:arm64 (2.4.120-2) ... Setting up libxcb-dri3-0:arm64 (1.17.0-1) ... Setting up libinput10:arm64 (1.25.0-1+b2) ... Setting up libx11-xcb1:arm64 (2:1.8.7-1+b1) ... Setting up libqt6core6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up fontconfig (2.15.0-1.1) ... Regenerating fonts cache... done. Setting up libdrm-nouveau2:arm64 (2.4.120-2) ... Setting up libxdamage1:arm64 (1:1.1.6-1+b1) ... Setting up libxcb1-dev:arm64 (1.17.0-1) ... Setting up libxrender1:arm64 (1:0.9.10-1.1+b1) ... Setting up libcurl4t64:arm64 (8.7.1-5) ... Setting up libgbm1:arm64 (24.0.6-1+b1) ... Setting up libpodofo0.9.8t64 (0.9.8+dfsg-3.1+b2) ... Setting up libdrm-radeon1:arm64 (2.4.120-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:arm64 (3.11.9-1) ... Setting up libpango-1.0-0:arm64 (1.52.2+ds-1) ... Setting up libgl1-mesa-dri:arm64 (24.0.6-1+b1) ... Setting up libpython3.11t64:arm64 (3.11.9-1) ... Setting up libx11-dev:arm64 (2:1.8.7-1+b1) ... Setting up libcurl3t64-gnutls:arm64 (8.7.1-5) ... Setting up libxext6:arm64 (2:1.3.4-1+b1) ... Setting up libqt6positioning6:arm64 (6.4.2-3+b2) ... Setting up libqt6sql6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up libqt6test6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up libqt6dbus6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up libqt6concurrent6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up man-db (2.12.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libcairo2:arm64 (1.18.0-3+b1) ... Setting up libqt6xml6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up libxxf86vm1:arm64 (1:1.1.4-1+b2) ... Setting up libfreetype-dev:arm64 (2.13.2+dfsg-1+b4) ... Setting up libmtp-dev:arm64 (1.1.21-3.1) ... Setting up libpoppler126t64:arm64 (22.12.0-2.2+b1) ... Setting up libegl-mesa0:arm64 (24.0.6-1+b1) ... Setting up libxfixes3:arm64 (1:6.0.0-2+b1) ... Setting up libpython3.11-dev:arm64 (3.11.9-1) ... Setting up libraqm0:arm64 (0.10.1-1+b1) ... Setting up libxrandr2:arm64 (2:1.5.4-1) ... Setting up qmake6-bin (6.4.2+dfsg-21.1+b1) ... Setting up libegl1:arm64 (1.7.0-1+b1) ... Setting up libharfbuzz-subset0:arm64 (8.3.0-2+b1) ... Setting up cmake (3.29.2-2) ... Setting up libcairo-gobject2:arm64 (1.18.0-3+b1) ... Setting up curl (8.7.1-5) ... Setting up poppler-utils (22.12.0-2.2+b1) ... Setting up libpangoft2-1.0-0:arm64 (1.52.2+ds-1) ... Setting up libcups2t64:arm64 (2.4.7-1.2+b1) ... Setting up libpangocairo-1.0-0:arm64 (1.52.2+ds-1) ... Setting up libpython3-stdlib:arm64 (3.11.8-1) ... Setting up libpodofo-dev (0.9.8+dfsg-3.1+b2) ... Setting up python3.11 (3.11.9-1) ... Setting up libproxy1v5:arm64 (0.5.6-1) ... Setting up libglx-mesa0:arm64 (24.0.6-1+b1) ... Setting up libpython3-dev:arm64 (3.11.8-1) ... Setting up qt6-base-dev-tools (6.4.2+dfsg-21.1+b1) ... Setting up libxi6:arm64 (2:1.8.1-1) ... Setting up libglx0:arm64 (1.7.0-1+b1) ... Setting up libfontconfig-dev:arm64 (2.15.0-1.1) ... Setting up python3.11-dev (3.11.9-1) ... Setting up libxtst6:arm64 (2:1.2.3-1.1+b1) ... Setting up debhelper (13.15.3) ... Setting up python3 (3.11.8-1) ... Setting up python3-xdg (0.28-2) ... Setting up python3-chm (0.8.6+ds-1) ... Setting up python3-webencodings (0.5.1-5) ... Setting up python3-psutil (5.9.8-2) ... Setting up python3-tz (2024.1-2) ... Setting up qmake6:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up python3-ifaddr (0.2.0-1) ... Setting up python3-sgmllib3k (1.0.0-4) ... Setting up python3-async-timeout (4.0.3-1) ... Setting up librsvg2-2:arm64 (2.58.0+dfsg-1) ... Setting up python3-six (1.16.0-6) ... Setting up python3-pil:arm64 (10.3.0-2) ... Setting up python3-decorator (5.1.1-5) ... Setting up python3-packaging (24.0-1) ... Setting up libgl1:arm64 (1.7.0-1+b1) ... Setting up python3-wcwidth (0.2.13+dfsg1-1) ... Setting up python3-pyparsing (3.1.2-1) ... Setting up python3-typeshed (0.0~git20231111.6764465-3) ... Setting up libglut3.12:arm64 (3.4.0-1+b1) ... Setting up python3-brotli (1.1.0-2+b3) ... Setting up python3-markdown (3.6-1) ... Setting up python3-regex (0.1.20221031-2) ... Setting up python3-html5lib (1.1-6) ... Setting up python3-jeepney (0.8.0-3) ... Setting up dh-buildinfo (0.11+nmu3) ... Setting up python3-netifaces:arm64 (0.11.0-2+b2) ... Setting up libqt6gui6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up python3-lxml:arm64 (5.2.1-1) ... Setting up python3-xxhash (3.2.0-1+b2) ... Setting up python3-traitlets (5.14.3-1) ... Setting up webp (1.3.2-0.4+b1) ... Setting up libglx-dev:arm64 (1.7.0-1+b1) ... Setting up python3-dateutil (2.9.0-2) ... Setting up python3-msgpack (1.0.3-3+b1) ... Setting up libqt6network6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up python3-mpmath (1.3.0-1) ... Setting up python3-pyqt6.sip (13.6.0-1+b1) ... Setting up python3-cssselect (1.2.0-4) ... Setting up python3-lib2to3 (3.12.3-1) ... Setting up python3-appdirs (1.4.4-4) ... Setting up python3-soupsieve (2.5-1) ... Setting up libgl-dev:arm64 (1.7.0-1+b1) ... Setting up python3-ptyprocess (0.7.0-5) ... Setting up python3-pkg-resources (68.1.2-2) ... Setting up python3-prompt-toolkit (3.0.43-2) ... Setting up python3-distutils (3.12.3-1) ... Setting up python3-mechanize (1:0.4.10+ds-1) ... Setting up python3-feedparser (6.0.11-1) ... Setting up python3-css-parser (1.0.10-1) ... Setting up libglib2.0-dev-bin (2.78.4-7) ... Setting up python3-sympy (1.12-7) ... Setting up librsvg2-bin (2.58.0+dfsg-1) ... Setting up python3-attr (23.2.0-2) ... Setting up python3-apsw (3.45.3.0-1) ... Setting up python3-texttable (1.6.7-1) ... Setting up python3-pure-eval (0.2.2-2) ... Setting up libqt6widgets6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up libvulkan-dev:arm64 (1.3.280.0-1) ... Setting up python3-setuptools (68.1.2-2) ... Setting up python3-repoze.lru (0.7-3) ... Setting up qt6-qpa-plugins:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up qt6-image-formats-plugins (6.4.2-5+b1) ... Setting up libegl-dev:arm64 (1.7.0-1+b1) ... Setting up python3-parso (0.8.3-1) ... Setting up python3-zeroconf (0.132.2-2) ... Setting up python3-speechd (0.11.5-4) ... Setting up python3-lz4 (4.0.2+dfsg-1+b3) ... Setting up python3-asttokens (2.4.1-1) ... Setting up python3-html2text (2024.2.26-1) ... Setting up python3-unicodedata2 (15.1.0+ds-1+b1) ... Setting up python3-pycryptodome (3.20.0+dfsg-1) ... Setting up python3-zstd (1.5.5.1-1) ... Setting up python3-ply (3.11-6) ... Setting up libqt6qml6:arm64 (6.4.2+dfsg-4+b2) ... Setting up libqt6opengl6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up libqt6qmlmodels6:arm64 (6.4.2+dfsg-4+b2) ... Setting up python3-bs4 (4.12.3-1) ... Setting up python3-matplotlib-inline (0.1.6-2) ... Setting up python3-fs (2.4.16-4) ... Setting up python3-routes (2.5.1-3) ... Setting up libqt6svg6:arm64 (6.4.2-4+b2) ... Setting up python3-pygments (2.17.2+dfsg-1) ... Setting up python3-chardet (5.2.0+dfsg-1) ... Setting up libqt6waylandclient6:arm64 (6.4.2-5+b2) ... Setting up libglib2.0-dev:arm64 (2.78.4-7) ... Setting up python3-executing (2.0.1-0.1) ... Setting up python3-pexpect (4.9-2) ... Setting up python3-dev (3.11.8-1) ... Setting up libqt6printsupport6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up libqt6quick6:arm64 (6.4.2+dfsg-4+b2) ... Setting up libqt6webchannel6:arm64 (6.4.2-3+b2) ... Setting up python3-html5-parser (0.4.12+ds-1+b1) ... Setting up python3-numpy (1:1.26.4+ds-8) ... Setting up libqt6svgwidgets6:arm64 (6.4.2-4+b2) ... Setting up python3-lxml-html-clean (0.1.1-1) ... Setting up python3-sipbuild (6.8.3+dfsg-1) ... Setting up python3-stack-data (0.6.3-1) ... Setting up libqt6wlshellintegration6:arm64 (6.4.2-5+b2) ... Setting up dh-python (6.20240422) ... Setting up libqt6webenginecore6:arm64 (6.4.2-final+dfsg-14) ... Setting up python3-scipy (1.11.4-6) ... Setting up python3-py7zr (0.11.3+dfsg-8) ... Setting up python3-jedi (0.19.1+ds1-1) ... Setting up libqt6waylandcompositor6:arm64 (6.4.2-5+b2) ... Setting up python3-pyqtbuild (1.16.2+dfsg-1) ... Setting up libgudev-1.0-dev:arm64 (238-5) ... Setting up libqt6openglwidgets6t64:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up libqt6waylandeglcompositorhwintegration6:arm64 (6.4.2-5+b2) ... Setting up libqt6waylandeglclienthwintegration6:arm64 (6.4.2-5+b2) ... Setting up libqt6quickwidgets6:arm64 (6.4.2+dfsg-4+b2) ... Setting up qt6-base-dev:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up python3-ipython (8.20.0-1) ... Setting up libqt6webenginecore6-bin (6.4.2-final+dfsg-14) ... Setting up qt6-wayland:arm64 (6.4.2-5+b2) ... Setting up libwacom-dev:arm64 (2.10.0-2) ... Setting up python3-pyqt6 (6.6.1-2+b1) ... Setting up pyqt6-dev-tools (6.6.1-2) ... Setting up libqt6webenginewidgets6:arm64 (6.4.2-final+dfsg-14) ... Setting up libqt6webenginequick6:arm64 (6.4.2-final+dfsg-14) ... Setting up python3-pyqt6.qtwebchannel (6.6.1-2+b1) ... Setting up libinput-dev:arm64 (1.25.0-1+b2) ... Setting up python3-pyqt6.qtsvg (6.6.1-2+b1) ... Setting up python3-pyqt6.qtqml (6.6.1-2+b1) ... Setting up python3-pyqt6.qtquick (6.6.1-2+b1) ... Setting up qt6-base-private-dev:arm64 (6.4.2+dfsg-21.1+b1) ... Setting up python3-pyqt6.qtwebengine (6.6.0-1+b1) ... Setting up python3-ufolib2 (0.16.0+dfsg1-1) ... Setting up python3-fonttools (4.46.0-1) ... Processing triggers for libc-bin (2.37-19) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/3731387/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for unstable I: user script /srv/workspace/pbuilder/3731387/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/calibre-7.10.0+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../calibre_7.10.0+ds-1_source.changes dpkg-buildpackage: info: source package calibre dpkg-buildpackage: info: source version 7.10.0+ds-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by YOKOTA Hiroshi dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --with=python3 --buildsystem=makefile debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' python3.11 setup.py build --clean Cleaning build python3.11 setup.py liberation_fonts --clean Cleaning liberation_fonts py3clean src/calibre/gui2 python3.11 setup.py gui --clean Cleaning gui py3clean setup src make[1]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' dh_autoreconf_clean -O--buildsystem=makefile dh_clean -O--buildsystem=makefile debian/rules binary dh binary --with=python3 --buildsystem=makefile dh_update_autotools_config -O--buildsystem=makefile dh_autoreconf -O--buildsystem=makefile debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' blhc: ignore-line-regexp: \tCompiling form /.+\.ui blhc: ignore-line-regexp: .+ -dM -E -o moc_predefs\.h /usr/lib/[^/]+/qt6/mkspecs/features/data/dummy\.cpp blhc: ignore-line-regexp: /usr/lib/qt6/libexec/moc .+\.cpp python3.11 setup.py build * * Running build * Building 27 extensions Compiling 37 files... g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/hunspell -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/spell/hunspell_wrapper.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/hunspell/hunspell_wrapper.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -std=c99 -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/hyphenation/hyphen.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/hyphen/hyphen.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -I/usr/include/uchardet -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/ebooks/uchardet.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/uchardet/uchardet.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -std=c99 -c /build/reproducible-path/calibre-7.10.0+ds/src/unicode_names/unicode_names.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/unicode_names/unicode_names.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/speedup.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/speedup/speedup.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/certgen.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/certgen/certgen.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/tweak_book/editor/syntax/html.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/html_syntax_highlighter/html.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/tinycss/tokenizer.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/tokenizer/tokenizer.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/tweak_book/diff/_patiencediff_c.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/_patiencediff_c/_patiencediff_c.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/icu.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/icu/icu.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/matcher.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/matcher/matcher.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/library/sqlite_custom.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/sqlite_custom/sqlite_custom.o g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++14 -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/sqlite_extension.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/sqlite_extension/sqlite_extension.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx/lzc.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/lzc.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx/lzxmodule.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/lzxmodule.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx/lzxc.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/lzxc.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx/lzxd.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/lzxd.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/lzx/compressor.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/compressor.o g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -I/usr/include/freetype2 -I/usr/include/libpng16 -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/fonts/freetype.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/freetype/freetype.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/msdes -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/msdes/des.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/msdes/des.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/msdes -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/msdes/msdesmodule.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/msdes/msdesmodule.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/ebooks/compression/palmdoc.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/cPalmdoc/palmdoc.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/ebooks/djvu/bzzdecoder.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/bzzdec/bzzdecoder.o g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/outlines.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/outlines.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/doc.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/doc.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/images.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/images.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/impose.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/impose.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/output.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/output.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/utils.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/utils.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/outline.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/outline.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/podofo.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/podofo.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -I/usr/include/podofo -I/usr/include -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/utils/podofo/fonts.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/fonts.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++11 -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/srv/html_as_json.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/html_as_json/html_as_json.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ g++ -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC=extern "C" __attribute__ ((visibility ("default"))) PyObject*' -std=c++14 -I/build/reproducible-path/calibre-7.10.0+ds/src/perfect-hashing -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/srv/fast_css_transform.cpp -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/fast_css_transform/fast_css_transform.o cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/devices/libusb/libusb.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/libusb/libusb.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/devices/mtp/unix/devices.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/libmtp/devices.o gcc -Wall -DNDEBUG -fno-strict-aliasing -pipe -O3 -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility=hidden -pthread -I/usr/include/python3.11 '-DCALIBRE_MODINIT_FUNC= __attribute__ ((visibility ("default"))) PyObject*' -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/devices/mtp/unix/libmtp.c -o /build/reproducible-path/calibre-7.10.0+ds/build/objects/libmtp/libmtp.o Linking 23 files... g++ /build/reproducible-path/calibre-7.10.0+ds/build/objects/hunspell/hunspell_wrapper.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/hunspell.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -L/usr/lib -lhunspell-1.7 gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/hyphen/hyphen.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/hyphen.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lhyphen gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/uchardet/uchardet.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/uchardet.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -L/usr/lib -luchardet gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/unicode_names/unicode_names.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/unicode_names.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/speedup/speedup.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/speedup.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lm gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/certgen/certgen.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/certgen.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lcrypto gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/html_syntax_highlighter/html.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/html_syntax_highlighter.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/tokenizer/tokenizer.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/tokenizer.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/_patiencediff_c/_patiencediff_c.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/_patiencediff_c.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/icu/icu.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/icu.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -licudata -licui18n -licuio -licuuc gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/matcher/matcher.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/matcher.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -licudata -licui18n -licuio -licuuc gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/sqlite_custom/sqlite_custom.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/sqlite_custom.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions g++ /build/reproducible-path/calibre-7.10.0+ds/build/objects/sqlite_extension/sqlite_extension.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/sqlite_extension.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -licudata -licui18n -licuio -licuuc -lstemmer gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/compressor.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/lzc.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/lzxc.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/lzxd.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/lzx/lzxmodule.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/lzx.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions g++ /build/reproducible-path/calibre-7.10.0+ds/build/objects/freetype/freetype.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/freetype.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -L/usr/lib -lfreetype gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/msdes/des.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/msdes/msdesmodule.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/msdes.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/cPalmdoc/palmdoc.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/cPalmdoc.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/bzzdec/bzzdecoder.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/bzzdec.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions g++ /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/doc.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/fonts.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/images.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/impose.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/outline.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/outlines.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/output.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/podofo.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/podofo/utils.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/podofo.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -L/usr/lib -lpodofo g++ /build/reproducible-path/calibre-7.10.0+ds/build/objects/html_as_json/html_as_json.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/html_as_json.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions g++ /build/reproducible-path/calibre-7.10.0+ds/build/objects/fast_css_transform/fast_css_transform.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/fast_css_transform.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/libusb/libusb.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/libusb.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lusb-1.0 gcc /build/reproducible-path/calibre-7.10.0+ds/build/objects/libmtp/devices.o /build/reproducible-path/calibre-7.10.0+ds/build/objects/libmtp/libmtp.o -o /build/reproducible-path/calibre-7.10.0+ds/src/calibre/plugins/libmtp.so -Wall -Wl,-z,relro -Wl,-z,now -shared -L/usr/lib/aarch64-linux-gnu -lpython3.11 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lmtp SIPing 4 files... /usr/bin/python3.11 -m sipbuild.tools.build --verbose --no-make --qmake /usr/bin/qmake6 pyproject.toml: line 6: using '[tool.sip.metadata]' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use '[project]' instead Querying qmake about your Qt installation... /usr/bin/qmake6 -query These bindings will be built: rcc_backend. Generating the rcc_backend bindings... /usr/lib/python3/dist-packages/PyQt6/bindings/QtCore/QtCoremod.sip: line 64: '%Plugin' is deprecated and will be removed in SIP v7.0.0 Generating the .pro file for the rcc_backend module... Generating the top-level .pro file... Generating the Makefiles... /usr/bin/qmake6 -recursive rcc_backend.pro Info: creating stash file /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/rcc_backend/build/.qmake.stash Reading /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/rcc_backend/build/rcc_backend/rcc_backend.pro The project has been built. /usr/bin/python3.11 -m sipbuild.tools.build --verbose --no-make --qmake /usr/bin/qmake6 pyproject.toml: line 6: using '[tool.sip.metadata]' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use '[project]' instead Querying qmake about your Qt installation... /usr/bin/qmake6 -query These bindings will be built: pictureflow. Generating the pictureflow bindings... /usr/lib/python3/dist-packages/PyQt6/bindings/QtCore/QtCoremod.sip: line 64: '%Plugin' is deprecated and will be removed in SIP v7.0.0 Generating the .pro file for the pictureflow module... Generating the top-level .pro file... Generating the Makefiles... /usr/bin/qmake6 -recursive pictureflow.pro Info: creating stash file /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build/.qmake.stash Reading /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build/pictureflow/pictureflow.pro The project has been built. /usr/bin/python3.11 -m sipbuild.tools.build --verbose --no-make --qmake /usr/bin/qmake6 pyproject.toml: line 6: using '[tool.sip.metadata]' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use '[project]' instead Querying qmake about your Qt installation... /usr/bin/qmake6 -query These bindings will be built: progress_indicator. Generating the progress_indicator bindings... /usr/lib/python3/dist-packages/PyQt6/bindings/QtCore/QtCoremod.sip: line 64: '%Plugin' is deprecated and will be removed in SIP v7.0.0 Generating the .pro file for the progress_indicator module... Generating the top-level .pro file... Generating the Makefiles... /usr/bin/qmake6 -recursive progress_indicator.pro Info: creating stash file /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build/.qmake.stash Reading /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build/progress_indicator/progress_indicator.pro The project has been built. /usr/bin/python3.11 -m sipbuild.tools.build --verbose --no-make --qmake /usr/bin/qmake6 pyproject.toml: line 6: using '[tool.sip.metadata]' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use '[project]' instead Querying qmake about your Qt installation... /usr/bin/qmake6 -query These bindings will be built: imageops. Generating the imageops bindings... /usr/lib/python3/dist-packages/PyQt6/bindings/QtCore/QtCoremod.sip: line 64: '%Plugin' is deprecated and will be removed in SIP v7.0.0 Generating the .pro file for the imageops module... Generating the top-level .pro file... Generating the Makefiles... /usr/bin/qmake6 -recursive imageops.pro Info: creating stash file /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/imageops/build/.qmake.stash Reading /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/imageops/build/imageops/imageops.pro The project has been built. ####### Building rcc_backend extension ####### make[2]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/rcc_backend/build' cd rcc_backend/ && ( test -e Makefile || /usr/bin/qmake6 -o Makefile /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/rcc_backend/build/rcc_backend/rcc_backend.pro ) && make -f Makefile make[3]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/rcc_backend/build/rcc_backend' g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/utils/rcc -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o siprcc_backendcmodule.o siprcc_backendcmodule.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/utils/rcc -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o siprcc_backendRCCResourceLibrary.o siprcc_backendRCCResourceLibrary.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/utils/rcc -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o rcc.o ../../../../../src/calibre/utils/rcc/rcc.cpp rm -f librcc_backend.so g++ -Wl,-z,relro -Wl,-z,now -Wl,-z,relro -Wl,-z,now -Wl,--version-script=rcc_backend.exp -Wl,-O1 -shared -o librcc_backend.so siprcc_backendcmodule.o siprcc_backendRCCResourceLibrary.o rcc.o /usr/lib/aarch64-linux-gnu/libQt6Core.so -lpthread cp -f librcc_backend.so rcc_backend.cpython-311-aarch64-linux-gnu.so make[3]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/rcc_backend/build/rcc_backend' make[2]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/rcc_backend/build' ####### Building pictureflow extension ####### make[2]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build' cd pictureflow/ && ( test -e Makefile || /usr/bin/qmake6 -o Makefile /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build/pictureflow/pictureflow.pro ) && make -f Makefile make[3]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build/pictureflow' g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/pictureflow -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o sippictureflowcmodule.o sippictureflowcmodule.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/pictureflow -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o sippictureflowPictureFlow.o sippictureflowPictureFlow.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/pictureflow -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o sippictureflowFlowImages.o sippictureflowFlowImages.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/pictureflow -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o pictureflow.o ../../../../../src/calibre/gui2/pictureflow/pictureflow.cpp g++ -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/aarch64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp /usr/lib/qt6/libexec/moc -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build/pictureflow/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -I/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build/pictureflow -I/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build/pictureflow -I/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/pictureflow -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I/usr/include/c++/13 -I/usr/include/aarch64-linux-gnu/c++/13 -I/usr/include/c++/13/backward -I/usr/lib/gcc/aarch64-linux-gnu/13/include -I/usr/local/include -I/usr/include/aarch64-linux-gnu -I/usr/include ../../../../../src/calibre/gui2/pictureflow/pictureflow.h -o moc_pictureflow.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/pictureflow -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o moc_pictureflow.o moc_pictureflow.cpp rm -f libpictureflow.so g++ -Wl,-z,relro -Wl,-z,now -Wl,-z,relro -Wl,-z,now -Wl,--version-script=pictureflow.exp -Wl,-O1 -Wl,-rpath-link,/usr/lib/aarch64-linux-gnu -shared -o libpictureflow.so sippictureflowcmodule.o sippictureflowPictureFlow.o sippictureflowFlowImages.o pictureflow.o moc_pictureflow.o /usr/lib/aarch64-linux-gnu/libQt6Widgets.so /usr/lib/aarch64-linux-gnu/libQt6Gui.so /usr/lib/aarch64-linux-gnu/libGLX.so /usr/lib/aarch64-linux-gnu/libOpenGL.so /usr/lib/aarch64-linux-gnu/libQt6Core.so -lpthread -lGLX -lOpenGL cp -f libpictureflow.so pictureflow.cpython-311-aarch64-linux-gnu.so make[3]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build/pictureflow' make[2]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/pictureflow/build' ####### Building progress_indicator extension ####### make[2]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build' cd progress_indicator/ && ( test -e Makefile || /usr/bin/qmake6 -o Makefile /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build/progress_indicator/progress_indicator.pro ) && make -f Makefile make[3]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build/progress_indicator' g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/progress_indicator -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o sipprogress_indicatorcmodule.o sipprogress_indicatorcmodule.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/progress_indicator -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o sipprogress_indicatorQProgressIndicator.o sipprogress_indicatorQProgressIndicator.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/progress_indicator -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o sipprogress_indicatorSpinAnimator.o sipprogress_indicatorSpinAnimator.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/progress_indicator -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o sipprogress_indicatorCalibreStyle.o sipprogress_indicatorCalibreStyle.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/progress_indicator -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o CalibreStyle.o ../../../../../src/calibre/gui2/progress_indicator/CalibreStyle.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/progress_indicator -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o QProgressIndicator.o ../../../../../src/calibre/gui2/progress_indicator/QProgressIndicator.cpp g++ -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/aarch64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp /usr/lib/qt6/libexec/moc -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build/progress_indicator/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -I/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build/progress_indicator -I/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build/progress_indicator -I/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build -I/build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/progress_indicator -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I/usr/include/c++/13 -I/usr/include/aarch64-linux-gnu/c++/13 -I/usr/include/c++/13/backward -I/usr/lib/gcc/aarch64-linux-gnu/13/include -I/usr/local/include -I/usr/include/aarch64-linux-gnu -I/usr/include ../../../../../src/calibre/gui2/progress_indicator/QProgressIndicator.h -o moc_QProgressIndicator.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fno-exceptions -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/gui2/progress_indicator -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o moc_QProgressIndicator.o moc_QProgressIndicator.cpp rm -f libprogress_indicator.so g++ -Wl,-z,relro -Wl,-z,now -Wl,-z,relro -Wl,-z,now -Wl,--version-script=progress_indicator.exp -Wl,-O1 -Wl,-rpath-link,/usr/lib/aarch64-linux-gnu -shared -o libprogress_indicator.so sipprogress_indicatorcmodule.o sipprogress_indicatorQProgressIndicator.o sipprogress_indicatorSpinAnimator.o sipprogress_indicatorCalibreStyle.o CalibreStyle.o QProgressIndicator.o moc_QProgressIndicator.o /usr/lib/aarch64-linux-gnu/libQt6Widgets.so /usr/lib/aarch64-linux-gnu/libQt6Gui.so /usr/lib/aarch64-linux-gnu/libGLX.so /usr/lib/aarch64-linux-gnu/libOpenGL.so /usr/lib/aarch64-linux-gnu/libQt6Core.so -lpthread -lGLX -lOpenGL cp -f libprogress_indicator.so progress_indicator.cpython-311-aarch64-linux-gnu.so make[3]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build/progress_indicator' make[2]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/progress_indicator/build' ####### Building imageops extension ####### make[2]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/imageops/build' cd imageops/ && ( test -e Makefile || /usr/bin/qmake6 -o Makefile /build/reproducible-path/calibre-7.10.0+ds/build/pyqt/imageops/build/imageops/imageops.pro ) && make -f Makefile make[3]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/imageops/build/imageops' g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/utils/imageops -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o sipimageopscmodule.o sipimageopscmodule.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/utils/imageops -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o imageops.o ../../../../../src/calibre/utils/imageops/imageops.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/utils/imageops -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o ordered_dither.o ../../../../../src/calibre/utils/imageops/ordered_dither.cpp g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pipe -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -Wall -Wextra -D_REENTRANT -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I.. -I../../../../../src/calibre/utils/imageops -I/usr/include/python3.11 -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtWidgets -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I. -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -o quantize.o ../../../../../src/calibre/utils/imageops/quantize.cpp rm -f libimageops.so g++ -Wl,-z,relro -Wl,-z,now -Wl,-z,relro -Wl,-z,now -Wl,--version-script=imageops.exp -Wl,-O1 -Wl,-rpath-link,/usr/lib/aarch64-linux-gnu -shared -o libimageops.so sipimageopscmodule.o imageops.o ordered_dither.o quantize.o /usr/lib/aarch64-linux-gnu/libQt6Widgets.so /usr/lib/aarch64-linux-gnu/libQt6Gui.so /usr/lib/aarch64-linux-gnu/libGLX.so /usr/lib/aarch64-linux-gnu/libOpenGL.so /usr/lib/aarch64-linux-gnu/libQt6Core.so -lpthread -lGLX -lOpenGL cp -f libimageops.so imageops.cpython-311-aarch64-linux-gnu.so make[3]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/imageops/build/imageops' make[2]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/pyqt/imageops/build' ####### Building headless QPA plugin ####### Re-run cmake no build system arguments -- The C compiler identification is GNU 13.2.0 -- The CXX compiler identification is GNU 13.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Found OpenGL: /usr/lib/aarch64-linux-gnu/libOpenGL.so -- Found WrapOpenGL: TRUE -- Found XKB: /usr/lib/aarch64-linux-gnu/libxkbcommon.so (found suitable version "1.6.0", minimum required is "0.5.0") -- Found WrapVulkanHeaders: /usr/include -- Performing Test HAVE_STDATOMIC -- Performing Test HAVE_STDATOMIC - Success -- Found WrapAtomic: TRUE -- Configuring done (4.0s) -- Generating done (0.0s) -- Build files have been written to: /build/reproducible-path/calibre-7.10.0+ds/build/headless make[2]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' /usr/bin/cmake -S/build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless -B/build/reproducible-path/calibre-7.10.0+ds/build/headless --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/calibre-7.10.0+ds/build/headless/CMakeFiles /build/reproducible-path/calibre-7.10.0+ds/build/headless//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[3]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' make -f CMakeFiles/headless_autogen_timestamp_deps.dir/build.make CMakeFiles/headless_autogen_timestamp_deps.dir/depend make[4]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' cd /build/reproducible-path/calibre-7.10.0+ds/build/headless && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless/CMakeFiles/headless_autogen_timestamp_deps.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' make -f CMakeFiles/headless_autogen_timestamp_deps.dir/build.make CMakeFiles/headless_autogen_timestamp_deps.dir/build make[4]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' make[4]: Nothing to be done for 'CMakeFiles/headless_autogen_timestamp_deps.dir/build'. make[4]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' [ 0%] Built target headless_autogen_timestamp_deps make -f CMakeFiles/headless_autogen.dir/build.make CMakeFiles/headless_autogen.dir/depend make[4]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' cd /build/reproducible-path/calibre-7.10.0+ds/build/headless && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless/CMakeFiles/headless_autogen.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' make -f CMakeFiles/headless_autogen.dir/build.make CMakeFiles/headless_autogen.dir/build make[4]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' [ 16%] Automatic MOC for target headless /usr/bin/cmake -E cmake_autogen /build/reproducible-path/calibre-7.10.0+ds/build/headless/CMakeFiles/headless_autogen.dir/AutogenInfo.json "" AutoGen: Refreshing parse cache because it doesn't exist. AutoMoc: Generating "BIN:/headless_autogen/moc_predefs.h", because it doesn't exist. /usr/bin/c++ -dM -E -c /usr/share/cmake-3.29/Modules/CMakeCXXCompilerABI.cpp -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dheadless_EXPORTS -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -I/usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2 -I/usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2 -I/usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2/QtCore -I/usr/include -I/usr/include/c++/13 -I/usr/include/aarch64-linux-gnu/c++/13 -I/usr/include/c++/13/backward -I/usr/lib/gcc/aarch64-linux-gnu/13/include -I/usr/local/include -I/usr/include/aarch64-linux-gnu AutoGen: Parsing "SRC:/headless_backingstore.h" AutoGen: Parsing "SRC:/headless_integration.h" AutoGen: Parsing "SRC:/headless_backingstore.cpp" AutoGen: Parsing "SRC:/headless_integration.cpp" AutoGen: Parsing "SRC:/main.cpp" AutoMoc: Generating "BIN:/headless_autogen/include/main.moc", because it doesn't exist, from "SRC:/main.cpp" /usr/lib/qt6/libexec/moc -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dheadless_EXPORTS -I/usr/include/aarch64-linux-gnu/qt6/QtGui -I/usr/include/aarch64-linux-gnu/qt6 -I/usr/include/aarch64-linux-gnu/qt6/QtCore -I/usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -I/usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2 -I/usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2/QtGui -I/usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2 -I/usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2/QtCore -I/usr/include -I/usr/include/c++/13 -I/usr/include/aarch64-linux-gnu/c++/13 -I/usr/include/c++/13/backward -I/usr/lib/gcc/aarch64-linux-gnu/13/include -I/usr/local/include -I/usr/include/aarch64-linux-gnu --include /build/reproducible-path/calibre-7.10.0+ds/build/headless/headless_autogen/moc_predefs.h --output-dep-file -o /build/reproducible-path/calibre-7.10.0+ds/build/headless/headless_autogen/include/main.moc /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless/main.cpp AutoMoc: Reading dependencies from "BIN:/headless_autogen/include/main.moc.d" AutoMoc: Generating MOC compilation "BIN:/headless_autogen/mocs_compilation.cpp" AutoMoc: Merging MOC dependencies into "BIN:/headless_autogen/deps" AutoGen: Writing the parse cache file "BIN:/CMakeFiles/headless_autogen.dir/ParseCache.txt" AutoGen: Writing the settings file "BIN:/CMakeFiles/headless_autogen.dir/AutogenUsed.txt" /usr/bin/cmake -E touch /build/reproducible-path/calibre-7.10.0+ds/build/headless/headless_autogen/timestamp make[4]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' [ 16%] Built target headless_autogen make -f CMakeFiles/headless.dir/build.make CMakeFiles/headless.dir/depend make[4]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' cd /build/reproducible-path/calibre-7.10.0+ds/build/headless && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless /build/reproducible-path/calibre-7.10.0+ds/build/headless/CMakeFiles/headless.dir/DependInfo.cmake "--color=" make[4]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' make -f CMakeFiles/headless.dir/build.make CMakeFiles/headless.dir/build make[4]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' [ 33%] Building CXX object CMakeFiles/headless.dir/headless_autogen/mocs_compilation.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dheadless_EXPORTS -I/build/reproducible-path/calibre-7.10.0+ds/build/headless/headless_autogen/include -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui -isystem /usr/include/aarch64-linux-gnu/qt6 -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2 -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2/QtGui -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2 -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2/QtCore -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MT CMakeFiles/headless.dir/headless_autogen/mocs_compilation.cpp.o -MF CMakeFiles/headless.dir/headless_autogen/mocs_compilation.cpp.o.d -o CMakeFiles/headless.dir/headless_autogen/mocs_compilation.cpp.o -c /build/reproducible-path/calibre-7.10.0+ds/build/headless/headless_autogen/mocs_compilation.cpp [ 50%] Building CXX object CMakeFiles/headless.dir/main.cpp.o [ 66%] Building CXX object CMakeFiles/headless.dir/headless_backingstore.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dheadless_EXPORTS -I/build/reproducible-path/calibre-7.10.0+ds/build/headless/headless_autogen/include -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui -isystem /usr/include/aarch64-linux-gnu/qt6 -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2 -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2/QtGui -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2 -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2/QtCore -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MT CMakeFiles/headless.dir/main.cpp.o -MF CMakeFiles/headless.dir/main.cpp.o.d -o CMakeFiles/headless.dir/main.cpp.o -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless/main.cpp /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dheadless_EXPORTS -I/build/reproducible-path/calibre-7.10.0+ds/build/headless/headless_autogen/include -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui -isystem /usr/include/aarch64-linux-gnu/qt6 -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2 -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2/QtGui -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2 -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2/QtCore -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MT CMakeFiles/headless.dir/headless_backingstore.cpp.o -MF CMakeFiles/headless.dir/headless_backingstore.cpp.o.d -o CMakeFiles/headless.dir/headless_backingstore.cpp.o -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless/headless_backingstore.cpp [ 83%] Building CXX object CMakeFiles/headless.dir/headless_integration.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dheadless_EXPORTS -I/build/reproducible-path/calibre-7.10.0+ds/build/headless/headless_autogen/include -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui -isystem /usr/include/aarch64-linux-gnu/qt6 -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2 -isystem /usr/include/aarch64-linux-gnu/qt6/QtGui/6.4.2/QtGui -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2 -isystem /usr/include/aarch64-linux-gnu/qt6/QtCore/6.4.2/QtCore -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MT CMakeFiles/headless.dir/headless_integration.cpp.o -MF CMakeFiles/headless.dir/headless_integration.cpp.o.d -o CMakeFiles/headless.dir/headless_integration.cpp.o -c /build/reproducible-path/calibre-7.10.0+ds/src/calibre/headless/headless_integration.cpp [100%] Linking CXX shared module libheadless.so /usr/bin/cmake -E cmake_link_script CMakeFiles/headless.dir/link.txt --verbose=1 /usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/calibre-7.10.0+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -shared -o libheadless.so CMakeFiles/headless.dir/headless_autogen/mocs_compilation.cpp.o CMakeFiles/headless.dir/main.cpp.o CMakeFiles/headless.dir/headless_backingstore.cpp.o CMakeFiles/headless.dir/headless_integration.cpp.o /usr/lib/aarch64-linux-gnu/libQt6Gui.so.6.4.2 /usr/lib/aarch64-linux-gnu/libGLX.so /usr/lib/aarch64-linux-gnu/libOpenGL.so /usr/lib/aarch64-linux-gnu/libxkbcommon.so /usr/lib/aarch64-linux-gnu/libQt6Core.so.6.4.2 make[4]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' [100%] Built target headless make[3]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/calibre-7.10.0+ds/build/headless/CMakeFiles 0 make[2]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds/build/headless' * build took 232.3 seconds python3.11 setup.py liberation_fonts --system-liberation_fonts --path-to-liberation_fonts=/usr/share/fonts/truetype/liberation * * Running liberation_fonts * * liberation_fonts took 0.0 seconds python3.11 setup.py gui * * Running gui * No write access to /nonexistent/second-build/.config/calibre using a temporary dir instead Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/filename_pattern.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/wizard/stanza.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/wizard/send_email.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/wizard/library.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/wizard/kindle.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/wizard/finish.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/wizard/device.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/basic_config_widget.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/stores/mobileread/store_dialog.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/stores/mobileread/cache_progress_dialog.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/stores/mobileread/adv_search_builder.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/search/search.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/search/adv_search_builder.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/config/search/search_widget.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/config/chooser/chooser_widget.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/store/config/chooser/adv_search_builder.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/toolbar.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/template_functions.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/sending.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/search.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/saving.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/save_template.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/plugins.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/plugboard.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/misc.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/metadata_sources.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/look_feel.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/email.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/columns.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/behavior.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/preferences/adding.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/lrf_renderer/main.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/lrf_renderer/config.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/template_dialog.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/tag_list_editor.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/tag_editor.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/tag_categories.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/smartdevice.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/quickview.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/password.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/metadata_bulk.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/match_books.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/jobs.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/edit_authors_dialog.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/drm_error.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/device_category_editor.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/delete_matching_from_device.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/conversion_error.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/choose_library.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/choose_format_device.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/dialogs/catalog.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/device_drivers/configwidget.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/xpath_wizard.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/txt_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/txt_input.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/toc.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/structure_detection.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/snb_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/search_and_replace.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/rtf_input.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/regex_builder.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/rb_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/pmlz_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/pdf_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/pdf_input.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/pdb_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/page_setup.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/mobi_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/metadata.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/lrf_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/look_and_feel.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/htmlz_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/heuristics.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/font_key.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/fb2_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/fb2_input.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/epub_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/docx_input.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/debug.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/comic_input.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/convert/azw3_output.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/catalog/catalog_tab_template.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/catalog/catalog_epub_mobi.ui Compiling form /build/reproducible-path/calibre-7.10.0+ds/src/calibre/gui2/catalog/catalog_bibtex.ui Compiled 84 forms Creating icon theme resource file Creating images.qrc * gui took 4.5 seconds make[1]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' dh_auto_test -O--buildsystem=makefile -- -f debian/calibre-builder.mak test make -j12 test -f debian/calibre-builder.mak test make[2]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' make MAKEFLAGS= -f debian/rules calibre_auto_test make[3]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' env LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C TZ=UTC CI=true python3.11 setup.py test --exclude-test-name=fts_pool --exclude-test-name=workers --exclude-test-name=dbus --exclude-test-name=ajax_book --exclude-test-name=workers --exclude-test-name=qt --exclude-test-name=dom_load ::group::test * * Running test * test_basic_csv_output (calibre.db.cli.tests.PrintCheckLibraryResultsTest.test_basic_csv_output) Test simple csv output ... ok [0.0 s] test_escaped_csv_output (calibre.db.cli.tests.PrintCheckLibraryResultsTest.test_escaped_csv_output) Test more complex csv output ... ok [0.0 s] test_human_readable_output (calibre.db.cli.tests.PrintCheckLibraryResultsTest.test_human_readable_output) Basic check of the human-readable output. ... ok [0.0 s] test_prints_nothing_if_no_errors (calibre.db.cli.tests.PrintCheckLibraryResultsTest.test_prints_nothing_if_no_errors) ... ok [0.0 s] test_import_of_all_python_modules (calibre.utils.run_tests.TestImports.test_import_of_all_python_modules) ... ok [14.5 s] test_copying_of_trees (calibre.utils.copy_files_test.TestCopyFiles.test_copying_of_trees) ... ok [0.0 s] test_renaming_of_files (calibre.utils.copy_files_test.TestCopyFiles.test_renaming_of_files) ... ok [0.0 s] test_live_cache (calibre.live.find_tests..LiveTest.test_live_cache) ... ok [0.0 s] test_module_loading (calibre.live.find_tests..LiveTest.test_module_loading) ... ok [0.0 s] test_add_soft_hyphens (calibre.utils.hyphenation.test_hyphenation.TestHyphenation.test_add_soft_hyphens) ... ok [1.7 s] test_hyphenate_html (calibre.utils.hyphenation.test_hyphenation.TestHyphenation.test_hyphenate_html) ... ok [0.6 s] test_locale_to_hyphen_dictionary (calibre.utils.hyphenation.test_hyphenation.TestHyphenation.test_locale_to_hyphen_dictionary) ... ok [0.3 s] test_viewer_cache (calibre.gui2.viewer.convert_book.find_tests..TestViewerCache.test_viewer_cache) ... ok [0.0 s] test_palmdoc_compression (calibre.ebooks.compression.palmdoc.find_tests..Test.test_palmdoc_compression) ... ok [0.0 s] test_comments_to_html (calibre.library.comments.find_tests..Test.test_comments_to_html) ... ok [0.0 s] test_shm (calibre.utils.shm.find_tests..TestSHM.test_shm) ... ok [0.0 s] test_html2text_behavior (calibre.utils.html2text.find_tests..TestH2T.test_html2text_behavior) ... ok [0.0 s] test_sqp_optimized (calibre.utils.search_query_parser_test.TestSQP.test_sqp_optimized) ... ok [0.0 s] test_sqp_tokenizer (calibre.utils.search_query_parser_test.TestSQP.test_sqp_tokenizer) ... ok [0.0 s] test_sqp_unoptimized (calibre.utils.search_query_parser_test.TestSQP.test_sqp_unoptimized) ... ok [0.0 s] test_exclusive_file_other_process_clean (calibre.utils.test_lock.IPCLockTest.test_exclusive_file_other_process_clean) ... ok [0.9 s] test_exclusive_file_other_process_kill (calibre.utils.test_lock.IPCLockTest.test_exclusive_file_other_process_kill) ... ok [0.5 s] test_exclusive_file_same_process (calibre.utils.test_lock.IPCLockTest.test_exclusive_file_same_process) ... ok [0.1 s] test_single_instance (calibre.utils.test_lock.IPCLockTest.test_single_instance) ... ok [4.7 s] test_tdir_in_cache_dir (calibre.utils.test_lock.IPCLockTest.test_tdir_in_cache_dir) ... ok [0.7 s] test_shared_file (calibre.utils.shared_file.find_tests..SharedFileTest.test_shared_file) ... ok [0.0 s] test_author_mapper (calibre.ebooks.metadata.author_mapper.find_tests..TestAuthorMapper.test_author_mapper) ... ok [0.0 s] test_tag_mapper (calibre.ebooks.metadata.tag_mapper.find_tests..TestTagMapper.test_tag_mapper) ... ok [0.0 s] test_brackets (calibre.ebooks.metadata.test_author_sort.TestRemoveBracketedText.test_brackets) ... ok [0.0 s] test_extra_closed (calibre.ebooks.metadata.test_author_sort.TestRemoveBracketedText.test_extra_closed) ... ok [0.0 s] test_mismatched (calibre.ebooks.metadata.test_author_sort.TestRemoveBracketedText.test_mismatched) ... ok [0.0 s] test_nested (calibre.ebooks.metadata.test_author_sort.TestRemoveBracketedText.test_nested) ... ok [0.0 s] test_unclosed (calibre.ebooks.metadata.test_author_sort.TestRemoveBracketedText.test_unclosed) ... ok [0.0 s] test_all_prefix (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_all_prefix) ... ok [0.0 s] test_all_suffix (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_all_suffix) ... ok [0.0 s] test_brackets (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_brackets) ... ok [0.0 s] test_comma (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_comma) ... ok [0.0 s] test_copywords (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_copywords) ... ok [0.0 s] test_falsy (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_falsy) ... ok [0.0 s] test_invalid_methos (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_invalid_methos) ... ok [0.0 s] test_method (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_method) ... ok [0.0 s] test_national (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_national) ... ok [0.0 s] test_prefix_suffix (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_prefix_suffix) ... ok [0.0 s] test_single (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_single) ... ok [0.0 s] test_surname_prefix (calibre.ebooks.metadata.test_author_sort.TestAuthorToAuthorSort.test_surname_prefix) ... ok [0.0 s] test_depth_first (calibre.ebooks.html.input.find_tests..TestHTMLInput.test_depth_first) ... ok [0.0 s] test_merge_annotations (calibre.gui2.viewer.annotations.find_tests..AnnotationsTest.test_merge_annotations) ... ok [0.0 s] test_lxml_unicode_parsing (calibre.utils.xml_parse.find_tests..TestXMLParse.test_lxml_unicode_parsing) ... ok [0.0 s] test_safe_xml_fromstring (calibre.utils.xml_parse.find_tests..TestXMLParse.test_safe_xml_fromstring) ... ok [0.0 s] test_input_comment_multi (calibre.ebooks.metadata.html.MetadataHtmlTest.test_input_comment_multi) ... ok [0.1 s] test_input_comment_single (calibre.ebooks.metadata.html.MetadataHtmlTest.test_input_comment_single) ... ok [0.0 s] test_input_meta_multi (calibre.ebooks.metadata.html.MetadataHtmlTest.test_input_meta_multi) ... ok [0.0 s] test_input_meta_single (calibre.ebooks.metadata.html.MetadataHtmlTest.test_input_meta_single) ... ok [0.0 s] test_input_title (calibre.ebooks.metadata.html.MetadataHtmlTest.test_input_title) ... ok [0.0 s] test_rtf_metadata (calibre.ebooks.metadata.rtf.find_tests..Test.test_rtf_metadata) ... ok [0.0 s] test_dates (calibre.utils.smartypants.run_tests..TestSmartypantsAllAttributes.test_dates) ... ok [0.0 s] test_educated_quotes (calibre.utils.smartypants.run_tests..TestSmartypantsAllAttributes.test_educated_quotes) ... ok [0.0 s] test_measurements (calibre.utils.smartypants.run_tests..TestSmartypantsAllAttributes.test_measurements) ... ok [0.0 s] test_ordinal_numbers (calibre.utils.smartypants.run_tests..TestSmartypantsAllAttributes.test_ordinal_numbers) ... ok [0.0 s] test_skip_tags (calibre.utils.smartypants.run_tests..TestSmartypantsAllAttributes.test_skip_tags) ... ok [0.0 s] test_break_iterator (calibre.utils.icu_test.TestICU.test_break_iterator) Test the break iterator ... ok [0.0 s] test_change_case (calibre.utils.icu_test.TestICU.test_change_case) Test the various ways of changing the case ... ok [0.0 s] test_character_name (calibre.utils.icu_test.TestICU.test_character_name) Test character naming ... ok [0.0 s] test_collation_order (calibre.utils.icu_test.TestICU.test_collation_order) Testing collation ordering ... ok [0.0 s] test_collation_order_for_partitioning (calibre.utils.icu_test.TestICU.test_collation_order_for_partitioning) Testing collation ordering for partitioning ... ok [0.0 s] test_contractions (calibre.utils.icu_test.TestICU.test_contractions) Test contractions ... skipped 'Skipping as this depends too much on ICU version' [0.0 s] test_find (calibre.utils.icu_test.TestICU.test_find) Test searching for substrings ... ok [0.0 s] test_remove_accents (calibre.utils.icu_test.TestICU.test_remove_accents) ... ok [0.1 s] test_roundtrip (calibre.utils.icu_test.TestICU.test_roundtrip) Test roundtripping ... ok [0.0 s] test_sorting (calibre.utils.icu_test.TestICU.test_sorting) Test the various sorting APIs ... ok [0.0 s] test_mem_leaks (calibre.utils.matcher.test..Test.test_mem_leaks) ... ok [1.3 s] test_non_bmp (calibre.utils.matcher.test..Test.test_non_bmp) ... ok [0.0 s] test_cfi_decode (calibre.ebooks.epub.cfi.tests.Tests.test_cfi_decode) ... ok [0.0 s] test_parsing (calibre.ebooks.epub.cfi.tests.Tests.test_parsing) ... ok [0.0 s] test_sorting (calibre.ebooks.epub.cfi.tests.Tests.test_sorting) ... ok [0.0 s] test_color_conversion (calibre.ebooks.docx.writer.utils.test_convert_color..TestColors.test_color_conversion) ... ok [0.0 s] test_hyperlink (calibre.ebooks.docx.fields.test_parse_fields..TestParseFields.test_hyperlink) ... ok [0.0 s] test_index (calibre.ebooks.docx.fields.test_parse_fields..TestParseFields.test_index) ... ok [0.0 s] test_xe (calibre.ebooks.docx.fields.test_parse_fields..TestParseFields.test_xe) ... ok [0.0 s] test_parse_errors (css_selectors.tests.TestCSSSelectors.test_parse_errors) ... ok [0.0 s] test_parser (css_selectors.tests.TestCSSSelectors.test_parser) ... ok [0.0 s] test_pseudo_elements (css_selectors.tests.TestCSSSelectors.test_pseudo_elements) ... ok [0.0 s] test_select (css_selectors.tests.TestCSSSelectors.test_select) ... ok [0.0 s] test_select_shakespeare (css_selectors.tests.TestCSSSelectors.test_select_shakespeare) ... ok [0.1 s] test_specificity (css_selectors.tests.TestCSSSelectors.test_specificity) ... ok [0.0 s] test_tokenizer (css_selectors.tests.TestCSSSelectors.test_tokenizer) ... ok [0.0 s] test_export_import (calibre.ebooks.html_transform_rules.test..TestTransforms.test_export_import) ... ok [0.0 s] test_html_transform_actions (calibre.ebooks.html_transform_rules.test..TestTransforms.test_html_transform_actions) ... ok [0.0 s] test_matching (calibre.ebooks.html_transform_rules.test..TestTransforms.test_matching) ... ok [0.0 s] test_validate_rule (calibre.ebooks.html_transform_rules.test..TestTransforms.test_validate_rule) ... ok [0.0 s] test_append (calibre.ebooks.css_transform_rules.test..TestTransforms.test_append) ... ok [0.0 s] test_change (calibre.ebooks.css_transform_rules.test..TestTransforms.test_change) ... ok [0.0 s] test_expansion (calibre.ebooks.css_transform_rules.test..TestTransforms.test_expansion) ... ok [0.0 s] test_export_import (calibre.ebooks.css_transform_rules.test..TestTransforms.test_export_import) ... ok [0.0 s] test_matching (calibre.ebooks.css_transform_rules.test..TestTransforms.test_matching) ... ok [0.0 s] test_border_condensation (calibre.ebooks.oeb.normalize_css.test_normalization..TestNormalization.test_border_condensation) ... ok [0.1 s] test_border_normalization (calibre.ebooks.oeb.normalize_css.test_normalization..TestNormalization.test_border_normalization) ... ok [0.0 s] test_edge_condensation (calibre.ebooks.oeb.normalize_css.test_normalization..TestNormalization.test_edge_condensation) ... ok [0.1 s] test_edge_normalization (calibre.ebooks.oeb.normalize_css.test_normalization..TestNormalization.test_edge_normalization) ... ok [0.0 s] test_filter_css_normalization (calibre.ebooks.oeb.normalize_css.test_normalization..TestNormalization.test_filter_css_normalization) ... ok [0.0 s] test_font_normalization (calibre.ebooks.oeb.normalize_css.test_normalization..TestNormalization.test_font_normalization) ... ok [0.0 s] test_list_style_normalization (calibre.ebooks.oeb.normalize_css.test_normalization..TestNormalization.test_list_style_normalization) ... ok [0.0 s] test_color_parsing (tinycss.tests.color3.TestColor3.test_color_parsing) ... ok [0.0 s] test_hsl (tinycss.tests.color3.TestColor3.test_hsl) ... ok [0.0 s] test_at_import (tinycss.tests.css21.TestCSS21.test_at_import) ... ok [0.0 s] test_at_media (tinycss.tests.css21.TestCSS21.test_at_media) ... ok [0.0 s] test_at_page (tinycss.tests.css21.TestCSS21.test_at_page) ... ok [0.0 s] test_at_rules (tinycss.tests.css21.TestCSS21.test_at_rules) ... ok [0.0 s] test_bytes (tinycss.tests.css21.TestCSS21.test_bytes) ... ok [0.1 s] test_core_parser (tinycss.tests.css21.TestCSS21.test_core_parser) ... ok [0.0 s] test_important (tinycss.tests.css21.TestCSS21.test_important) ... ok [0.0 s] test_parse_style_attr (tinycss.tests.css21.TestCSS21.test_parse_style_attr) ... ok [0.0 s] test_decoding (tinycss.tests.decoding.TestDecoding.test_decoding) ... ok [0.0 s] test_font_face (tinycss.tests.fonts3.TestFonts3.test_font_face) Test parsing of font face rules ... ok [0.0 s] test_parse_font (tinycss.tests.fonts3.TestFonts3.test_parse_font) ... ok [0.0 s] test_parse_font_family (tinycss.tests.fonts3.TestFonts3.test_parse_font_family) Test parsing of font-family values ... ok [0.0 s] test_media_queries (tinycss.tests.media3.TestFonts3.test_media_queries) Test parsing of media queries from the CSS 3 media module ... ok [0.0 s] test_content (tinycss.tests.page3.TestPage3.test_content) ... ok [0.0 s] test_selectors (tinycss.tests.page3.TestPage3.test_selectors) ... ok [0.0 s] test_comments (tinycss.tests.tokenizing.TestTokenizer.test_comments) ... ok [0.0 s] test_positions (tinycss.tests.tokenizing.TestTokenizer.test_positions) Test the reported line/column position of each token. ... ok [0.0 s] test_token_api (tinycss.tests.tokenizing.TestTokenizer.test_token_api) ... ok [0.0 s] test_token_grouping (tinycss.tests.tokenizing.TestTokenizer.test_token_grouping) ... ok [0.0 s] test_token_serialize_css (tinycss.tests.tokenizing.TestTokenizer.test_token_serialize_css) ... ok [0.0 s] test_tokens (tinycss.tests.tokenizing.TestTokenizer.test_tokens) ... ok [0.0 s] test_against_opf2 (calibre.ebooks.metadata.opf3_test.TestOPF3.test_against_opf2) ... ok [0.2 s] test_authors (calibre.ebooks.metadata.opf3_test.TestOPF3.test_authors) ... ok [0.0 s] test_book_producer (calibre.ebooks.metadata.opf3_test.TestOPF3.test_book_producer) ... ok [0.0 s] test_comments (calibre.ebooks.metadata.opf3_test.TestOPF3.test_comments) ... ok [0.0 s] test_dates (calibre.ebooks.metadata.opf3_test.TestOPF3.test_dates) ... ok [0.0 s] test_identifiers (calibre.ebooks.metadata.opf3_test.TestOPF3.test_identifiers) ... ok [0.0 s] test_languages (calibre.ebooks.metadata.opf3_test.TestOPF3.test_languages) ... ok [0.0 s] test_prefix_parsing (calibre.ebooks.metadata.opf3_test.TestOPF3.test_prefix_parsing) ... ok [0.0 s] test_publisher (calibre.ebooks.metadata.opf3_test.TestOPF3.test_publisher) ... ok [0.0 s] test_raster_cover (calibre.ebooks.metadata.opf3_test.TestOPF3.test_raster_cover) ... ok [0.0 s] test_rating (calibre.ebooks.metadata.opf3_test.TestOPF3.test_rating) ... ok [0.0 s] test_series (calibre.ebooks.metadata.opf3_test.TestOPF3.test_series) ... ok [0.0 s] test_tags (calibre.ebooks.metadata.opf3_test.TestOPF3.test_tags) ... ok [0.0 s] test_title (calibre.ebooks.metadata.opf3_test.TestOPF3.test_title) ... ok [0.0 s] test_user_metadata (calibre.ebooks.metadata.opf3_test.TestOPF3.test_user_metadata) ... ok [0.0 s] testCreator (calibre.ebooks.metadata.opf2.suite..OPFTest.testCreator) ... ok [0.0 s] testReading (calibre.ebooks.metadata.opf2.suite..OPFTest.testReading) ... ok [0.0 s] testSmartUpdate (calibre.ebooks.metadata.opf2.suite..OPFTest.testSmartUpdate) ... ok [0.0 s] testWriting (calibre.ebooks.metadata.opf2.suite..OPFTest.testWriting) ... ok [0.0 s] test_fallback_font_matching (calibre.ebooks.oeb.polish.tests.cascade.CascadeTest.test_fallback_font_matching) ... ok [0.0 s] test_font_stats (calibre.ebooks.oeb.polish.tests.cascade.CascadeTest.test_font_stats) ... ok [0.3 s] test_iterrules (calibre.ebooks.oeb.polish.tests.cascade.CascadeTest.test_iterrules) ... ok [0.1 s] test_remove_property_value (calibre.ebooks.oeb.polish.tests.cascade.CascadeTest.test_remove_property_value) ... ok [0.1 s] test_resolve_styles (calibre.ebooks.oeb.polish.tests.cascade.CascadeTest.test_resolve_styles) ... ok [0.8 s] test_actual_case (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_actual_case) Test getting the actual case for files from names on case insensitive filesystems ... Conversion options changed from defaults: cover: '/tmp/calibre_7.10.0_tmp_w120rklp/tvmjhj2ibpt/lt.png' language: 'en' authors: 'Kovid Goyal' level1_toc: '//h:h2' verbose: 2 Resolved conversion options calibre version: 7.10.0 {'allow_local_files_outside_root': False, 'asciiize': False, 'author_sort': None, 'authors': 'Kovid Goyal', 'base_font_size': 0, 'book_producer': None, 'breadth_first': False, 'change_justification': 'original', 'chapter': "//*[((name()='h1' or name()='h2') and re:test(., " "'\\s*((chapter|book|section|part)\\s+)|((prolog|prologue|epilogue)(\\s+|$))', " "'i')) or @class = 'chapter']", 'chapter_mark': 'pagebreak', 'comments': None, 'cover': '/tmp/calibre_7.10.0_tmp_w120rklp/tvmjhj2ibpt/lt.png', 'debug_pipeline': None, 'dehyphenate': True, 'delete_blank_paragraphs': True, 'disable_font_rescaling': False, 'dont_package': False, 'dont_split_on_page_breaks': False, 'duplicate_links_in_toc': False, 'embed_all_fonts': False, 'embed_font_family': None, 'enable_heuristics': False, 'epub_flatten': False, 'epub_inline_toc': False, 'epub_max_image_size': 'none', 'epub_toc_at_end': False, 'epub_version': '2', 'expand_css': False, 'extra_css': None, 'extract_to': None, 'filter_css': None, 'fix_indents': True, 'flow_size': 260, 'font_size_mapping': None, 'format_scene_breaks': True, 'html_unwrap_factor': 0.4, 'input_encoding': None, 'input_profile': , 'insert_blank_line': False, 'insert_blank_line_size': 0.5, 'insert_metadata': False, 'isbn': None, 'italicize_common_cases': True, 'keep_ligatures': False, 'language': 'en', 'level1_toc': '//h:h2', 'level2_toc': None, 'level3_toc': None, 'line_height': 0, 'linearize_tables': False, 'margin_bottom': 5.0, 'margin_left': 5.0, 'margin_right': 5.0, 'margin_top': 5.0, 'markup_chapter_headings': True, 'max_levels': 5, 'max_toc_links': 50, 'minimum_line_height': 120.0, 'no_chapters_in_toc': False, 'no_default_epub_cover': False, 'no_inline_navbars': False, 'no_svg_cover': False, 'output_profile': , 'page_breaks_before': "//*[name()='h1' or name()='h2']", 'prefer_metadata_cover': False, 'preserve_cover_aspect_ratio': False, 'pretty_print': True, 'pubdate': None, 'publisher': None, 'rating': None, 'read_metadata_from_opf': None, 'remove_fake_margins': True, 'remove_first_image': False, 'remove_paragraph_spacing': False, 'remove_paragraph_spacing_indent_size': 1.5, 'renumber_headings': True, 'replace_scene_breaks': '', 'search_replace': None, 'series': None, 'series_index': None, 'smarten_punctuation': False, 'sr1_replace': '', 'sr1_search': '', 'sr2_replace': '', 'sr2_search': '', 'sr3_replace': '', 'sr3_search': '', 'start_reading_at': None, 'subset_embedded_fonts': False, 'tags': None, 'timestamp': None, 'title': None, 'title_sort': None, 'toc_filter': None, 'toc_threshold': 6, 'toc_title': None, 'transform_css_rules': None, 'transform_html_rules': None, 'unsmarten_punctuation': False, 'unwrap_lines': True, 'use_auto_toc': False, 'verbose': 2} 1% Converting input to HTML... InputFormatPlugin: HTML Input running on /tmp/calibre_7.10.0_tmp_w120rklp/tvmjhj2ibpt/index.html Building file list... Found files... HTMLFile:0:a:'/tmp/calibre_7.10.0_tmp_w120rklp/tvmjhj2ibpt/index.html' Normalizing filename cases Rewriting HTML links Parsing index.html ... Initial parse failed, using more forgiving parsers Parsing index.html as HTML Added /tmp/calibre_7.10.0_tmp_w120rklp/tvmjhj2ibpt/marked.png with href: marked.png Added /tmp/calibre_7.10.0_tmp_w120rklp/tvmjhj2ibpt/LiberationMono-Regular.ttf with href: LiberationMono-Regular.ttf Added /tmp/calibre_7.10.0_tmp_w120rklp/tvmjhj2ibpt/LiberationMono-Italic.ttf with href: LiberationMono-Italic.ttf Added /tmp/calibre_7.10.0_tmp_w120rklp/tvmjhj2ibpt/light_wood.png with href: light_wood.png 34% Running transforms on e-book... Merging user specified metadata... Detecting structure... Auto generated TOC with 2 entries. Flattening CSS and remapping font sizes... Source base font size is 12.00000pt Removing fake margins... Found 6 items of level: p_1 Found 1 items of level: div_1 Ignoring level p_1 div_1 left margin stats: Counter() div_1 right margin stats: Counter() Cleaning up manifest... Trimming unused files from manifest... Creating EPUB Output... 67% Running EPUB Output plugin Splitting markup on page breaks and flow limits, if any... Splitting on page-break at id=page1 Splitting on page-break at id=page2 Looking for large trees in index.html... No large trees found Split into 2 parts Removing anchor from TOC href: index_split_000.html#page1 Removing anchor from TOC href: index_split_001.html#page2 EPUB output written to /build/reproducible-path/calibre-7.10.0+ds/debian/.debhelper/generated/_source/home/.cache/calibre/polish-test/simple.epub Output saved to /build/reproducible-path/calibre-7.10.0+ds/debian/.debhelper/generated/_source/home/.cache/calibre/polish-test/simple.epub ok [0.4 s] test_clone (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_clone) Test cloning of containers ... Conversion options changed from defaults: level1_toc: '//h:h2' authors: 'Kovid Goyal' cover: '/tmp/calibre_7.10.0_tmp_w120rklp/3r02ti9xbpt/lt.png' verbose: 2 language: 'en' Resolved conversion options calibre version: 7.10.0 {'allow_local_files_outside_root': False, 'asciiize': False, 'author_sort': None, 'authors': 'Kovid Goyal', 'base_font_size': 0, 'book_producer': None, 'breadth_first': False, 'change_justification': 'original', 'chapter': "//*[((name()='h1' or name()='h2') and re:test(., " "'\\s*((chapter|book|section|part)\\s+)|((prolog|prologue|epilogue)(\\s+|$))', " "'i')) or @class = 'chapter']", 'chapter_mark': 'pagebreak', 'comments': None, 'cover': '/tmp/calibre_7.10.0_tmp_w120rklp/3r02ti9xbpt/lt.png', 'debug_pipeline': None, 'dehyphenate': True, 'delete_blank_paragraphs': True, 'disable_font_rescaling': False, 'dont_compress': False, 'dont_package': False, 'duplicate_links_in_toc': False, 'embed_all_fonts': False, 'embed_font_family': None, 'enable_heuristics': False, 'expand_css': False, 'extra_css': None, 'extract_to': None, 'filter_css': None, 'fix_indents': True, 'font_size_mapping': None, 'format_scene_breaks': True, 'html_unwrap_factor': 0.4, 'input_encoding': None, 'input_profile': , 'insert_blank_line': False, 'insert_blank_line_size': 0.5, 'insert_metadata': False, 'isbn': None, 'italicize_common_cases': True, 'keep_ligatures': False, 'language': 'en', 'level1_toc': '//h:h2', 'level2_toc': None, 'level3_toc': None, 'line_height': 0, 'linearize_tables': False, 'margin_bottom': 5.0, 'margin_left': 5.0, 'margin_right': 5.0, 'margin_top': 5.0, 'markup_chapter_headings': True, 'max_levels': 5, 'max_toc_links': 50, 'minimum_line_height': 120.0, 'mobi_toc_at_start': False, 'no_chapters_in_toc': False, 'no_inline_navbars': False, 'no_inline_toc': False, 'output_profile': , 'page_breaks_before': "//*[name()='h1' or name()='h2']", 'prefer_author_sort': False, 'prefer_metadata_cover': False, 'pretty_print': False, 'pubdate': None, 'publisher': None, 'rating': None, 'read_metadata_from_opf': None, 'remove_fake_margins': True, 'remove_first_image': False, 'remove_paragraph_spacing': False, 'remove_paragraph_spacing_indent_size': 1.5, 'renumber_headings': True, 'replace_scene_breaks': '', 'search_replace': None, 'series': None, 'series_index': None, 'share_not_sync': False, 'smarten_punctuation': False, 'sr1_replace': '', 'sr1_search': '', 'sr2_replace': '', 'sr2_search': '', 'sr3_replace': '', 'sr3_search': '', 'start_reading_at': None, 'subset_embedded_fonts': False, 'tags': None, 'timestamp': None, 'title': None, 'title_sort': None, 'toc_filter': None, 'toc_threshold': 6, 'toc_title': None, 'transform_css_rules': None, 'transform_html_rules': None, 'unsmarten_punctuation': False, 'unwrap_lines': True, 'use_auto_toc': False, 'verbose': 2} 1% Converting input to HTML... InputFormatPlugin: HTML Input running on /tmp/calibre_7.10.0_tmp_w120rklp/3r02ti9xbpt/index.html Building file list... Found files... HTMLFile:0:a:'/tmp/calibre_7.10.0_tmp_w120rklp/3r02ti9xbpt/index.html' Normalizing filename cases Rewriting HTML links Parsing index.html ... Initial parse failed, using more forgiving parsers Parsing index.html as HTML Added /tmp/calibre_7.10.0_tmp_w120rklp/3r02ti9xbpt/marked.png with href: marked.png Added /tmp/calibre_7.10.0_tmp_w120rklp/3r02ti9xbpt/LiberationMono-Regular.ttf with href: LiberationMono-Regular.ttf Added /tmp/calibre_7.10.0_tmp_w120rklp/3r02ti9xbpt/LiberationMono-Italic.ttf with href: LiberationMono-Italic.ttf Added /tmp/calibre_7.10.0_tmp_w120rklp/3r02ti9xbpt/light_wood.png with href: light_wood.png 34% Running transforms on e-book... Merging user specified metadata... Detecting structure... Auto generated TOC with 2 entries. Flattening CSS and remapping font sizes... Source base font size is 12.00000pt Removing fake margins... Found 6 items of level: p_1 Found 1 items of level: div_1 Ignoring level p_1 div_1 left margin stats: Counter() div_1 right margin stats: Counter() Cleaning up manifest... Trimming unused files from manifest... Creating AZW3 Output... 67% Running AZW3 Output plugin Serializing resources... Splitting markup on page breaks and flow limits, if any... Splitting on page-break at id=page1 Splitting on page-break at id=page2 Split into 2 parts Creating KF8 output Generating in-line ToC Generating KF8 markup... Compressing markup... Creating indices... AZW3 output written to /build/reproducible-path/calibre-7.10.0+ds/debian/.debhelper/generated/_source/home/.cache/calibre/polish-test/simple.azw3 Output saved to /build/reproducible-path/calibre-7.10.0+ds/debian/.debhelper/generated/_source/home/.cache/calibre/polish-test/simple.azw3 ok [3.2 s] test_dir_container (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_dir_container) ... ok [0.0 s] test_file_add (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_file_add) Test adding of files ... ok [0.1 s] test_file_removal (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_file_removal) Test removal of files from the container ... ok [0.0 s] test_file_rename (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_file_rename) Test renaming of files ... ok [0.8 s] test_folder_type_map_case (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_folder_type_map_case) ... ok [0.0 s] test_merge_file (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_merge_file) Test merging of files ... ok [0.2 s] test_split_file (calibre.ebooks.oeb.polish.tests.container.ContainerTests.test_split_file) Test splitting of files ... Conversion options changed from defaults: language: 'en' authors: 'Kovid Goyal' verbose: 2 cover: '/build/reproducible-path/calibre-7.10.0+ds/resources/images/lt.png' level1_toc: '//h:h2' Resolved conversion options calibre version: 7.10.0 {'allow_local_files_outside_root': False, 'asciiize': False, 'author_sort': None, 'authors': 'Kovid Goyal', 'base_font_size': 0, 'book_producer': None, 'breadth_first': False, 'change_justification': 'original', 'chapter': "//*[((name()='h1' or name()='h2') and re:test(., " "'\\s*((chapter|book|section|part)\\s+)|((prolog|prologue|epilogue)(\\s+|$))', " "'i')) or @class = 'chapter']", 'chapter_mark': 'pagebreak', 'comments': None, 'cover': '/build/reproducible-path/calibre-7.10.0+ds/resources/images/lt.png', 'debug_pipeline': None, 'dehyphenate': True, 'delete_blank_paragraphs': True, 'disable_font_rescaling': False, 'dont_package': False, 'dont_split_on_page_breaks': False, 'duplicate_links_in_toc': False, 'embed_all_fonts': False, 'embed_font_family': None, 'enable_heuristics': False, 'epub_flatten': False, 'epub_inline_toc': False, 'epub_max_image_size': 'none', 'epub_toc_at_end': False, 'epub_version': '2', 'expand_css': False, 'extra_css': None, 'extract_to': None, 'filter_css': None, 'fix_indents': True, 'flow_size': 260, 'font_size_mapping': None, 'format_scene_breaks': True, 'html_unwrap_factor': 0.4, 'input_encoding': None, 'input_profile': , 'insert_blank_line': False, 'insert_blank_line_size': 0.5, 'insert_metadata': False, 'isbn': None, 'italicize_common_cases': True, 'keep_ligatures': False, 'language': 'en', 'level1_toc': '//h:h2', 'level2_toc': None, 'level3_toc': None, 'line_height': 0, 'linearize_tables': False, 'margin_bottom': 5.0, 'margin_left': 5.0, 'margin_right': 5.0, 'margin_top': 5.0, 'markup_chapter_headings': True, 'max_levels': 5, 'max_toc_links': 50, 'minimum_line_height': 120.0, 'no_chapters_in_toc': False, 'no_default_epub_cover': False, 'no_inline_navbars': False, 'no_svg_cover': False, 'output_profile': , 'page_breaks_before': "//*[name()='h1' or name()='h2']", 'prefer_metadata_cover': False, 'preserve_cover_aspect_ratio': False, 'pretty_print': True, 'pubdate': None, 'publisher': None, 'rating': None, 'read_metadata_from_opf': None, 'remove_fake_margins': True, 'remove_first_image': False, 'remove_paragraph_spacing': False, 'remove_paragraph_spacing_indent_size': 1.5, 'renumber_headings': True, 'replace_scene_breaks': '', 'search_replace': None, 'series': None, 'series_index': None, 'smarten_punctuation': False, 'sr1_replace': '', 'sr1_search': '', 'sr2_replace': '', 'sr2_search': '', 'sr3_replace': '', 'sr3_search': '', 'start_reading_at': None, 'subset_embedded_fonts': False, 'tags': None, 'timestamp': None, 'title': None, 'title_sort': None, 'toc_filter': None, 'toc_threshold': 6, 'toc_title': None, 'transform_css_rules': None, 'transform_html_rules': None, 'unsmarten_punctuation': False, 'unwrap_lines': True, 'use_auto_toc': False, 'verbose': 2} 1% Converting input to HTML... InputFormatPlugin: HTML Input running on /build/reproducible-path/calibre-7.10.0+ds/src/calibre/ebooks/oeb/polish/tests/index.html Building file list... Found files... HTMLFile:0:a:'/build/reproducible-path/calibre-7.10.0+ds/src/calibre/ebooks/oeb/polish/tests/index.html' Normalizing filename cases Rewriting HTML links Parsing index.html ... Forcing index.html into XHTML namespace 34% Running transforms on e-book... Merging user specified metadata... Detecting structure... Auto generated TOC with 2 entries. Flattening CSS and remapping font sizes... Source base font size is 12.00000pt Removing fake margins... Found 3 items of level: p_1 Found 1 items of level: div_1 Found 3 items of level: p_2 Ignoring level p_2 Ignoring level p_1 div_1 left margin stats: Counter() div_1 right margin stats: Counter() Cleaning up manifest... Trimming unused files from manifest... Creating EPUB Output... 67% Running EPUB Output plugin Splitting markup on page breaks and flow limits, if any... Looking for large trees in index.html... No large trees found Removing anchor from TOC href: index.html#page1 EPUB output written to /build/reproducible-path/calibre-7.10.0+ds/debian/.debhelper/generated/_source/home/.cache/calibre/polish-test/split.epub Output saved to /build/reproducible-path/calibre-7.10.0+ds/debian/.debhelper/generated/_source/home/.cache/calibre/polish-test/split.epub ok [0.3 s] test_conversion_parser (calibre.ebooks.oeb.polish.tests.parsing.ParsingTests.test_conversion_parser) Test parsing with the HTML5 parser used for conversion ... ok [0.0 s] test_lxml_tostring (calibre.ebooks.oeb.polish.tests.parsing.ParsingTests.test_lxml_tostring) Test for bug in some versions of lxml that causes incorrect serialization of sub-trees ... ok [0.0 s] test_polish_parser (calibre.ebooks.oeb.polish.tests.parsing.ParsingTests.test_polish_parser) Test parsing with the HTML5 parser used for polishing ... ok [0.0 s] test_epub2_covers (calibre.ebooks.oeb.polish.tests.structure.Structure.test_epub2_covers) ... ok [0.0 s] test_epub3_covers (calibre.ebooks.oeb.polish.tests.structure.Structure.test_epub3_covers) ... ok [0.0 s] test_landmarks_detection (calibre.ebooks.oeb.polish.tests.structure.Structure.test_landmarks_detection) ... ok [0.0 s] test_toc_detection (calibre.ebooks.oeb.polish.tests.structure.Structure.test_toc_detection) ... ok [0.0 s] test_add_books (calibre.db.tests.add_remove.AddRemoveTest.test_add_books) Test the adding of new books ... ok [1.0 s] test_add_format (calibre.db.tests.add_remove.AddRemoveTest.test_add_format) Test adding formats to an existing book record ... ok [1.0 s] test_copy_to_library (calibre.db.tests.add_remove.AddRemoveTest.test_copy_to_library) ... ok [1.0 s] test_create_book_entry (calibre.db.tests.add_remove.AddRemoveTest.test_create_book_entry) Test the creation of new book entries ... ok [1.1 s] test_format_orphan (calibre.db.tests.add_remove.AddRemoveTest.test_format_orphan) Test that adding formats does not create orphans if the file name algorithm changes ... ok [1.3 s] test_merging_extra_files (calibre.db.tests.add_remove.AddRemoveTest.test_merging_extra_files) ... ok [1.3 s] test_original_fmt (calibre.db.tests.add_remove.AddRemoveTest.test_original_fmt) Test management of original fmt ... ok [0.9 s] test_remove_books (calibre.db.tests.add_remove.AddRemoveTest.test_remove_books) Test removal of books ... ok [1.6 s] test_remove_formats (calibre.db.tests.add_remove.AddRemoveTest.test_remove_formats) Test removal of formats from book records ... ok [1.1 s] test_fts_basic (calibre.db.tests.fts.FTSTest.test_fts_basic) ... ok [0.0 s] test_fts_query_syntax (calibre.db.tests.fts.FTSTest.test_fts_query_syntax) ... ok [0.0 s] test_fts_stemming (calibre.db.tests.fts.FTSTest.test_fts_stemming) ... ok [0.0 s] test_fts_tokenize (calibre.db.tests.fts.FTSTest.test_fts_tokenize) ... ok [0.1 s] test_pdftotext (calibre.db.tests.fts.FTSTest.test_pdftotext) ... ok [0.1 s] test_get_property (calibre.db.tests.legacy.LegacyTest.test_get_property) Test the get_property interface for reading data ... ok [1.2 s] test_legacy_adding_books (calibre.db.tests.legacy.LegacyTest.test_legacy_adding_books) Test various adding/deleting books methods ... ok [1.3 s] test_legacy_conversion_options (calibre.db.tests.legacy.LegacyTest.test_legacy_conversion_options) Test conversion options API ... ok [1.4 s] test_legacy_coverage (calibre.db.tests.legacy.LegacyTest.test_legacy_coverage) Check that the emulation of the legacy interface is (almost) total ... ok [1.5 s] test_legacy_custom (calibre.db.tests.legacy.LegacyTest.test_legacy_custom) Test the legacy API for custom columns ... ok [1.5 s] test_legacy_custom_data (calibre.db.tests.legacy.LegacyTest.test_legacy_custom_data) Test the API for custom data storage ... ok [0.6 s] test_legacy_delete_using (calibre.db.tests.legacy.LegacyTest.test_legacy_delete_using) Test delete_using() API ... ok [1.5 s] test_legacy_direct (calibre.db.tests.legacy.LegacyTest.test_legacy_direct) Test read-only methods that are directly equivalent in the old and new interface ... ok [0.8 s] test_legacy_getters (calibre.db.tests.legacy.LegacyTest.test_legacy_getters) Test various functions to get individual bits of metadata ... ok [1.3 s] test_legacy_saved_search (calibre.db.tests.legacy.LegacyTest.test_legacy_saved_search) Test legacy saved search API ... ok [1.6 s] test_legacy_setters (calibre.db.tests.legacy.LegacyTest.test_legacy_setters) Test methods that are directly equivalent in the old and new interface ... ok [2.3 s] test_library_wide_properties (calibre.db.tests.legacy.LegacyTest.test_library_wide_properties) Test library wide properties ... ok [1.4 s] test_refresh (calibre.db.tests.legacy.LegacyTest.test_refresh) Test refreshing the view after a change to metadata.db ... ok [2.5 s] test_acquire (calibre.db.tests.locking.TestLock.test_acquire) ... ok [3.1 s] test_contention (calibre.db.tests.locking.TestLock.test_contention) ... ok [1.8 s] test_downgrade (calibre.db.tests.locking.TestLock.test_downgrade) ... ok [0.9 s] test_multithread_deadlock (calibre.db.tests.locking.TestLock.test_multithread_deadlock) ... ok [1.2 s] test_owns_locks (calibre.db.tests.locking.TestLock.test_owns_locks) ... ok [0.8 s] test_recursive (calibre.db.tests.locking.TestLock.test_recursive) ... ok [0.8 s] test_release (calibre.db.tests.locking.TestLock.test_release) ... ok [3.0 s] test_upgrade (calibre.db.tests.locking.TestLock.test_upgrade) ... ok [0.9 s] test_notes (calibre.db.tests.notes.NotesTest.test_notes) ... ok [1.1 s] test_author_sort_for_authors (calibre.db.tests.reading.ReadingTest.test_author_sort_for_authors) Test getting the author sort for authors from the db ... ok [1.1 s] test_composites (calibre.db.tests.reading.ReadingTest.test_composites) Test sorting and searching in composite columns ... ok [1.2 s] test_datetime (calibre.db.tests.reading.ReadingTest.test_datetime) Test the reading of datetimes stored in the db ... ok [1.0 s] test_find_identical_books (calibre.db.tests.reading.ReadingTest.test_find_identical_books) Test find_identical_books ... ok [0.9 s] test_get_categories (calibre.db.tests.reading.ReadingTest.test_get_categories) Check that get_categories() returns the same data for both backends ... ok [1.2 s] test_get_cover (calibre.db.tests.reading.ReadingTest.test_get_cover) Test cover() returns the same data for both backends ... ok [1.1 s] test_get_formats (calibre.db.tests.reading.ReadingTest.test_get_formats) Test reading ebook formats using the format() method ... ok [1.2 s] test_get_metadata (calibre.db.tests.reading.ReadingTest.test_get_metadata) Test get_metadata() returns the same data for both backends ... ok [1.0 s] test_get_next_series_num (calibre.db.tests.reading.ReadingTest.test_get_next_series_num) Test getting the next series number for a series ... ok [0.9 s] test_has_book (calibre.db.tests.reading.ReadingTest.test_has_book) Test detecting duplicates ... ok [0.7 s] test_last_read_positions (calibre.db.tests.reading.ReadingTest.test_last_read_positions) ... ok [0.5 s] test_marked_field (calibre.db.tests.reading.ReadingTest.test_marked_field) Test the marked field ... ok [1.2 s] test_proxy_metadata (calibre.db.tests.reading.ReadingTest.test_proxy_metadata) Test the ProxyMetadata object used for composite columns ... ok [1.4 s] test_python_templates (calibre.db.tests.reading.ReadingTest.test_python_templates) ... ok [1.4 s] test_read (calibre.db.tests.reading.ReadingTest.test_read) Test the reading of data from the database ... ok [1.2 s] test_restrictions (calibre.db.tests.reading.ReadingTest.test_restrictions) Test searching with and without restrictions ... ok [1.3 s] test_search_caching (calibre.db.tests.reading.ReadingTest.test_search_caching) Test caching of searches ... ok [1.5 s] test_searching (calibre.db.tests.reading.ReadingTest.test_searching) Test searching returns the same data for both backends ... ok [1.0 s] test_serialize_metadata (calibre.db.tests.reading.ReadingTest.test_serialize_metadata) ... ok [0.8 s] test_sorting (calibre.db.tests.reading.ReadingTest.test_sorting) Test sorting ... ok [0.9 s] test_storing_conversion_options (calibre.db.tests.reading.ReadingTest.test_storing_conversion_options) ... ok [1.3 s] test_template_db_functions (calibre.db.tests.reading.ReadingTest.test_template_db_functions) ... ok [1.0 s] test_thumbnail_cache (calibre.db.tests.utils.UtilsTest.test_thumbnail_cache) Test the operation of the thumbnail cache ... ok [0.0 s] test_export_import (calibre.db.tests.filesystem.FilesystemTest.test_export_import) ... ok [14.4 s] test_find_books_in_directory (calibre.db.tests.filesystem.FilesystemTest.test_find_books_in_directory) ... ok [1.3 s] test_fname_change (calibre.db.tests.filesystem.FilesystemTest.test_fname_change) Test the changing of the filename but not the folder name ... ok [1.4 s] test_library_move (calibre.db.tests.filesystem.FilesystemTest.test_library_move) Test moving of library ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.0 s] test_long_filenames (calibre.db.tests.filesystem.FilesystemTest.test_long_filenames) Test long file names ... ok [1.1 s] test_metadata_move (calibre.db.tests.filesystem.FilesystemTest.test_metadata_move) Test the moving of files when title/author change ... ok [1.3 s] test_rename_of_extra_files (calibre.db.tests.filesystem.FilesystemTest.test_rename_of_extra_files) ... ok [1.4 s] test_reserved_names (calibre.db.tests.filesystem.FilesystemTest.test_reserved_names) Test that folders are not created with a windows reserve name ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.4 s] test_windows_atomic_move (calibre.db.tests.filesystem.FilesystemTest.test_windows_atomic_move) Test book file open in another process when changing metadata ... skipped 'Windows only' [0.0 s] test_fts_search (calibre.db.tests.fts_api.FTSAPITest.test_fts_search) ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [48.8 s] test_fts_to_text (calibre.db.tests.fts_api.FTSAPITest.test_fts_to_text) ... ok [0.9 s] test_fts_triggers (calibre.db.tests.fts_api.FTSAPITest.test_fts_triggers) ... ok [1.2 s] test_annotations (calibre.db.tests.writing.WritingTest.test_annotations) Test handling of annotations ... ok [1.5 s] test_backup (calibre.db.tests.writing.WritingTest.test_backup) Test the automatic backup of changed metadata ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [3.8 s] test_changed_events (calibre.db.tests.writing.WritingTest.test_changed_events) ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.2 s] test_composite_cache (calibre.db.tests.writing.WritingTest.test_composite_cache) Test that the composite field cache is properly invalidated on writes ... ok [1.3 s] test_conversion_options (calibre.db.tests.writing.WritingTest.test_conversion_options) Test saving of conversion options ... ok [0.9 s] test_dirtied (calibre.db.tests.writing.WritingTest.test_dirtied) Test the setting of the dirtied flag and the last_modified column ... ok [0.7 s] test_dump_and_restore (calibre.db.tests.writing.WritingTest.test_dump_and_restore) Test roundtripping the db through SQL ... get_categories: item Unknown is not in authors list! Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.2 s] test_fix_case_duplicates (calibre.db.tests.writing.WritingTest.test_fix_case_duplicates) Test fixing of databases that have items in is_many fields that differ only by case ... ok [1.1 s] test_link_maps (calibre.db.tests.writing.WritingTest.test_link_maps) ... ok [1.3 s] test_many_many_basic (calibre.db.tests.writing.WritingTest.test_many_many_basic) Test the different code paths for writing to a many-many field ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.5 s] test_many_one_basic (calibre.db.tests.writing.WritingTest.test_many_one_basic) Test the different code paths for writing to a many-one field ... ok [1.6 s] test_one_one (calibre.db.tests.writing.WritingTest.test_one_one) Test setting of values in one-one fields ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [7.9 s] test_preferences (calibre.db.tests.writing.WritingTest.test_preferences) Test getting and setting of preferences, especially with mutable objects ... ok [0.8 s] test_remove_items (calibre.db.tests.writing.WritingTest.test_remove_items) Test removal of many-(many,one) items ... ok [0.7 s] test_rename_items (calibre.db.tests.writing.WritingTest.test_rename_items) Test renaming of many-(many,one) items ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.1 s] test_set_author_data (calibre.db.tests.writing.WritingTest.test_set_author_data) ... ok [1.3 s] test_set_cover (calibre.db.tests.writing.WritingTest.test_set_cover) Test setting of cover ... ok [1.3 s] test_set_metadata (calibre.db.tests.writing.WritingTest.test_set_metadata) Test setting of metadata ... ok [0.8 s] test_ajax_categories (calibre.srv.tests.ajax.ContentTest.test_ajax_categories) Test /ajax/categories and /ajax/search ... calibre server listening on 127.0.0.1:36633 Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.1 s] test_srv_add_book (calibre.srv.tests.ajax.ContentTest.test_srv_add_book) ... calibre server listening on 127.0.0.1:35171 ok [1.2 s] test_srv_restrictions (calibre.srv.tests.ajax.ContentTest.test_srv_restrictions) Test that virtual lib. + search restriction works on all end points ... calibre server listening on 127.0.0.1:39111 ok [1.3 s] test_android_auth_workaround (calibre.srv.tests.auth.TestAuth.test_android_auth_workaround) Test authentication workaround for Android ... calibre server listening on 127.0.0.1:34797 ok [0.3 s] test_basic_auth (calibre.srv.tests.auth.TestAuth.test_basic_auth) Test HTTP Basic auth ... calibre server listening on 127.0.0.1:36523 ok [0.2 s] test_digest_auth (calibre.srv.tests.auth.TestAuth.test_digest_auth) Test HTTP Digest auth ... calibre server listening on 127.0.0.1:37097 ok [0.4 s] test_fail_ban (calibre.srv.tests.auth.TestAuth.test_fail_ban) ... calibre server listening on 127.0.0.1:46797 Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [0.7 s] test_library_restrictions (calibre.srv.tests.auth.TestAuth.test_library_restrictions) ... ok [0.1 s] test_char_count (calibre.srv.tests.content.ContentTest.test_char_count) ... ok [0.5 s] test_get (calibre.srv.tests.content.ContentTest.test_get) Test /get ... calibre server listening on 127.0.0.1:40947 ok [2.1 s] test_html_as_json (calibre.srv.tests.content.ContentTest.test_html_as_json) ... ok [1.0 s] test_last_read_cache (calibre.srv.tests.content.ContentTest.test_last_read_cache) ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.1 s] test_static (calibre.srv.tests.content.ContentTest.test_static) Test serving of static content ... calibre server listening on 127.0.0.1:37387 ok [1.1 s] test_basic_css_transforms (calibre.srv.tests.fast_css_transform.TestTransform.test_basic_css_transforms) ... ok [0.0 s] test_number_parsing (calibre.srv.tests.fast_css_transform.TestTransform.test_number_parsing) ... ok [0.0 s] test_library_id_construction (calibre.srv.tests.routes.TestRouter.test_library_id_construction) ... ok [0.0 s] test_route_construction (calibre.srv.tests.routes.TestRouter.test_route_construction) Test route construction ... ok [0.0 s] test_route_finding (calibre.srv.tests.routes.TestRouter.test_route_finding) Test route finding ... ok [0.0 s] test_websocket_basic (calibre.srv.tests.web_sockets.WebSocketTest.test_websocket_basic) Test basic interaction with the websocket server ... calibre server listening on 127.0.0.1:33343 Too large control frame from client RSV bits set in frame from client RSV bits set in frame from client RSV bits set in frame from client RSV bits set in frame from client RSV bits set in frame from client RSV bits set in frame from client Unknown OPCODE from client: 3 Unknown OPCODE from client: 4 Unknown OPCODE from client: 5 Unknown OPCODE from client: 6 Unknown OPCODE from client: 7 Unknown OPCODE from client: 11 Unknown OPCODE from client: 12 Unknown OPCODE from client: 13 Unknown OPCODE from client: 14 Unknown OPCODE from client: 15 Fragmented control frame from client Fragmented control frame from client Too large control frame from client Client sent continuation frame with no message to continue Client sent continuation frame with no message to continue Client sent continuation frame with no message to continue Client sent continuation frame with non-zero opcode Client sent undecodeable UTF-8 Client sent undecodeable UTF-8 Client sent undecodeable UTF-8 Client sent undecodeable UTF-8 ok [0.6 s] test_websocket_perf (calibre.srv.tests.web_sockets.WebSocketTest.test_websocket_perf) ... calibre server listening on 127.0.0.1:41379 Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [2.0 s] test_accept_encoding (calibre.srv.tests.http.TestHTTP.test_accept_encoding) Test parsing of Accept-Encoding ... ok [0.0 s] test_accept_language (calibre.srv.tests.http.TestHTTP.test_accept_language) Test parsing of Accept-Language ... calibre server listening on 127.0.0.1:33191 ok [0.4 s] test_header_parsing (calibre.srv.tests.http.TestHTTP.test_header_parsing) Test parsing of HTTP headers ... ok [0.0 s] test_http_basic (calibre.srv.tests.http.TestHTTP.test_http_basic) Test basic HTTP protocol conformance ... calibre server listening on 127.0.0.1:37851 Unhandled exception in state: State: _job_done Client: 127.0.0.1:51530 Request: GET /test/ HTTP/1.1 Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/srv/loop.py", line 653, in tick conn.handle_event(event) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/srv/loop.py", line 366, in _job_done self.job_done(*event) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/srv/http_response.py", line 497, in job_done reraise(etype, e, tb) File "/build/reproducible-path/calibre-7.10.0+ds/src/polyglot/builtins.py", line 61, in reraise raise value File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/srv/pool.py", line 33, in run result = func() ^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/srv/http_response.py", line 454, in run_request_handler result = self.request_handler(data) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/srv/tests/http.py", line 203, in server.change_handler(lambda data:1/0) ~^~ ZeroDivisionError: division by zero Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [60.4 s] test_http_response (calibre.srv.tests.http.TestHTTP.test_http_response) Test HTTP protocol responses ... calibre server listening on 127.0.0.1:33907 ok [0.5 s] test_range_parsing (calibre.srv.tests.http.TestHTTP.test_range_parsing) Test parsing of Range header ... ok [0.0 s] test_static_generation (calibre.srv.tests.http.TestHTTP.test_static_generation) Test static generation ... calibre server listening on 127.0.0.1:41405 ok [0.2 s] test_bonjour (calibre.srv.tests.loop.LoopTest.test_bonjour) Test advertising via BonJour ... skipped 'Disabled as it is failing on the build server, need to investigate' [0.0 s] test_dual_stack (calibre.srv.tests.loop.LoopTest.test_dual_stack) ... calibre server listening on [::]:46645 ok [0.2 s] test_fallback_interface (calibre.srv.tests.loop.LoopTest.test_fallback_interface) Test falling back to default interface ... Failed to bind to 1.1.1.1 with error: No socket could be created -- (('1.1.1.1', 0): [Errno 99] Cannot assign requested address). Trying to bind to the default interface: 127.0.1.1 instead calibre server listening on 127.0.1.1:34453 ok [1.1 s] test_jobs_manager (calibre.srv.tests.loop.LoopTest.test_jobs_manager) Test the jobs manager ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [2.0 s] test_log_rotation (calibre.srv.tests.loop.LoopTest.test_log_rotation) Test log rotation ... ok [0.0 s] test_monotonic (calibre.srv.tests.loop.LoopTest.test_monotonic) Test the monotonic() clock ... ok [0.1 s] test_plugins (calibre.srv.tests.loop.LoopTest.test_plugins) Test plugin semantics ... calibre server listening on 127.0.0.1:40099 ok [0.2 s] test_ring_buffer (calibre.srv.tests.loop.LoopTest.test_ring_buffer) Test the ring buffer used for reads ... ok [0.0 s] test_socket_activation (calibre.srv.tests.loop.LoopTest.test_socket_activation) Test socket activation ... skipped 'pre_activated_socket not available' [0.0 s] test_ssl (calibre.srv.tests.loop.LoopTest.test_ssl) Test serving over SSL ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database calibre server listening on 127.0.0.1:33045 ok [3.8 s] test_7z (calibre.test_build.BuildTest.test_7z) ... ok [0.5 s] test_apsw (calibre.test_build.BuildTest.test_apsw) ... ok [0.0 s] test_bs4 (calibre.test_build.BuildTest.test_bs4) ... ok [0.0 s] test_certgen (calibre.test_build.BuildTest.test_certgen) ... ok [0.5 s] test_chardet (calibre.test_build.BuildTest.test_chardet) ... ok [0.0 s] test_dlls (calibre.test_build.BuildTest.test_dlls) ... skipped 'DLL loading needs testing only on windows (non-continuous integration)' [0.0 s] test_executables (calibre.test_build.BuildTest.test_executables) ... skipped 'Only makes sense to test executables in frozen builds' [0.0 s] test_feedparser (calibre.test_build.BuildTest.test_feedparser) ... ok [0.0 s] test_file_dialog_helper (calibre.test_build.BuildTest.test_file_dialog_helper) ... skipped 'File dialog helper only used on windows (non-continuous-integration)' [0.0 s] test_fonttools (calibre.test_build.BuildTest.test_fonttools) ... ok [0.0 s] test_fsevents (calibre.test_build.BuildTest.test_fsevents) ... skipped 'FSEvents only present on OS X' [0.0 s] test_html2text (calibre.test_build.BuildTest.test_html2text) ... ok [0.0 s] test_html5_parser (calibre.test_build.BuildTest.test_html5_parser) ... ok [0.0 s] test_html5lib (calibre.test_build.BuildTest.test_html5lib) ... ok [0.0 s] test_hunspell (calibre.test_build.BuildTest.test_hunspell) ... ok [0.1 s] test_imaging (calibre.test_build.BuildTest.test_imaging) ... ok [0.1 s] test_loaders (calibre.test_build.BuildTest.test_loaders) ... ok [0.0 s] test_lxml (calibre.test_build.BuildTest.test_lxml) ... ok [0.0 s] test_lzma (calibre.test_build.BuildTest.test_lzma) ... ok [0.0 s] test_markdown (calibre.test_build.BuildTest.test_markdown) ... ok [0.1 s] test_msgpack (calibre.test_build.BuildTest.test_msgpack) ... ok [0.2 s] test_netifaces (calibre.test_build.BuildTest.test_netifaces) ... ok [0.0 s] test_openssl (calibre.test_build.BuildTest.test_openssl) ... ok [0.0 s] test_plugins (calibre.test_build.BuildTest.test_plugins) ... ok [0.0 s] test_podofo (calibre.test_build.BuildTest.test_podofo) ... ok [0.0 s] test_psutil (calibre.test_build.BuildTest.test_psutil) ... ok [0.0 s] test_pychm (calibre.test_build.BuildTest.test_pychm) ... ok [0.0 s] test_pycryptodome (calibre.test_build.BuildTest.test_pycryptodome) ... ok [0.0 s] test_regex (calibre.test_build.BuildTest.test_regex) ... ok [0.0 s] test_speech_dispatcher (calibre.test_build.BuildTest.test_speech_dispatcher) ... ok [0.0 s] test_sqlite (calibre.test_build.BuildTest.test_sqlite) ... ok [0.0 s] test_terminal (calibre.test_build.BuildTest.test_terminal) ... ok [0.1 s] test_tinycss_tokenizer (calibre.test_build.BuildTest.test_tinycss_tokenizer) ... ok [0.0 s] test_unrar (calibre.test_build.BuildTest.test_unrar) ... skipped 'Module unrardll is missing' [0.0 s] test_winutil (calibre.test_build.BuildTest.test_winutil) ... skipped 'winutil is windows only' [0.0 s] test_wpd (calibre.test_build.BuildTest.test_wpd) ... skipped 'WPD is windows only' [0.0 s] test_zeroconf (calibre.test_build.BuildTest.test_zeroconf) ... ok [0.1 s] test_zstd (calibre.test_build.BuildTest.test_zstd) ... ok [0.0 s] test_dictionaries (calibre.spell.dictionary.find_tests..TestDictionaries.test_dictionaries) ... Traceback (most recent call last): File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 574, in loop_while_more_available has_more = do_one() ^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/cache.py", line 547, in do_one self.backend.remove_dirty_fts(book_id, fmt) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 1101, in remove_dirty_fts return self.fts.remove_dirty(book_id, fmt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/fts/connect.py", line 87, in remove_dirty conn.execute('DELETE FROM fts_db.dirtied_formats WHERE book=? AND format=?', (book_id, fmt.upper())) File "/build/reproducible-path/calibre-7.10.0+ds/src/calibre/db/backend.py", line 414, in execute return cursor.execute(sql, bindings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src/cursor.c", line 169, in resetcursor apsw.ReadOnlyError: ReadOnlyError: attempt to write a readonly database ok [1.6 s] Slowest tests: calibre.srv.tests.http.TestHTTP.test_http_basic [60.4 s] calibre.db.tests.fts_api.FTSAPITest.test_fts_search [48.8 s] calibre.utils.run_tests.TestImports.test_import_of_all_python_modules [14.5 s] ---------------------------------------------------------------------- Ran 330 tests in 290.816s OK (skipped=11) env LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C TZ=UTC CI=true python3.11 setup.py test --test-name=ajax_book --exclude-test-name=fts_pool --exclude-test-name=workers --exclude-test-name=dbus ::group::test * * Running test * test_ajax_book (calibre.srv.tests.ajax.ContentTest.test_ajax_book) Test /ajax/book ... calibre server listening on 127.0.0.1:39651 ok [0.9 s] ---------------------------------------------------------------------- Ran 1 test in 0.883s OK env LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C TZ=UTC CI=true python3.11 setup.py test --test-name=workers --exclude-test-name=fts_pool --exclude-test-name=workers --exclude-test-name=dbus ::group::test * * Running test * ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK env LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C TZ=UTC CI=true python3.11 setup.py test --test-name=qt --exclude-test-name=fts_pool --exclude-test-name=workers --exclude-test-name=dbus ::group::test * * Running test * test_qt (calibre.test_build.BuildTest.test_qt) ... qt.webenginecontext: GL Type: disabled Surface Type: DefaultRenderableType Surface Profile: NoProfile Surface Version: 2.0 QSG RHI Backend: OpenGL Using Supported QSG Backend: yes Using Software Dynamic GL: no Using Multithreaded OpenGL: no Init Parameters: * application-name setup.py * browser-subprocess-path /usr/lib/qt6/libexec/QtWebEngineProcess * disable-features ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture * disable-gpu * disable-setuid-sandbox * disable-speech-api * enable-features NetworkServiceInProcess,TracingServiceInProcess * enable-threaded-compositing * in-process-gpu * use-gl disabled No suitable graphics backend found ok [10.8 s] ---------------------------------------------------------------------- Ran 1 test in 10.771s OK env LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C TZ=UTC CI=true python3.11 setup.py test --test-name=dom_load --exclude-test-name=fts_pool --exclude-test-name=workers --exclude-test-name=dbus ::group::test * * Running test * test_dom_load (calibre.scraper.simple.find_tests..TestSimpleWebEngineScraper.test_dom_load) ... FETCH:{"url": "file:///build/reproducible-path/calibre-7.10.0+ds/resources/templates/new_book.html", "timeout": 60} No suitable graphics backend found load_started: self.is_current_url=True self.requestedUrl()=PyQt6.QtCore.QUrl('file:///build/reproducible-path/calibre-7.10.0+ds/resources/templates/new_book.html') load_progress: progress=0 self.is_current_url=True load_progress: progress=70 self.is_current_url=True domready: self.is_current_url=True FETCH:{"url": "file:///build/reproducible-path/calibre-7.10.0+ds/resources/templates/new_nav.html", "timeout": 60} domready: self.is_current_url=True FETCH:{"url": "file:///does-not-exist.html", "timeout": 60} Fontconfig error: Cannot load default config file: No such file: (null) load_progress: progress=100 self.is_current_url=True load_finished: ok=False self.is_current_url=True EXIT:0 ok [2.5 s] ---------------------------------------------------------------------- Ran 1 test in 2.532s OK make[3]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' make[2]: 'test' is up to date. make[2]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' make[1]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=makefile dh_prep -O--buildsystem=makefile debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' dh_auto_install -O--buildsystem=makefile -- -f debian/calibre-builder.mak install make -j12 install DESTDIR=/build/reproducible-path/calibre-7.10.0\+ds/debian/tmp AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" -f debian/calibre-builder.mak install make[2]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' make MAKEFLAGS= -f debian/rules calibre_auto_install make[3]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' mkdir -p debian/tmp/usr/share/icons/hicolor mkdir -p debian/tmp/usr/share/applications mkdir -p debian/tmp/usr/share/mime/packages mkdir -p debian/tmp/usr/share/zsh/vendor-completions env LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C XDG_DATA_DIRS=/build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/share CALIBRE_CONFIG_DIRECTORY=debian/tmp/config python3.11 setup.py install --root=debian/tmp/usr * * Running build * Building 27 extensions ####### Building headless QPA plugin ####### * build took 0.3 seconds * * Running gui * * gui took 0.2 seconds * * Running install * INSTALL paths: LIB: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/lib/calibre SHARE: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/share/calibre Installing code to /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/lib/calibre Installing resources to /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/share/calibre Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/ebook-device Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/ebook-meta Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/ebook-convert Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/ebook-polish Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/markdown-calibre Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/web2disk Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/calibre-server Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/lrf2lrs Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/lrs2lrf Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/calibre-debug Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/calibredb Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/calibre-parallel Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/calibre-customize Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/calibre-complete Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/fetch-ebook-metadata Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/calibre-smtp Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/calibre Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/lrfviewer Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/ebook-viewer Installing binary: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/bin/ebook-edit Installing calibre environment module: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/lib/python3.11/site-packages/init_calibre.py Setting up command-line completion... Installing zsh completion to: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/share/zsh/vendor-completions/_calibre Installing bash completion to: /build/reproducible-path/calibre-7.10.0+ds/debian/tmp/usr/share/bash-completion/completions/ Setting up desktop integration... calibre successfully installed. You can start it by running the command calibre * install took 36.9 seconds rm debian/tmp/usr/share/calibre/calibre-portable.* rm debian/tmp/usr/lib/python*/site-packages/init_calibre.py rmdir debian/tmp/usr/share/desktop-directories rm debian/tmp/usr/lib/calibre/calibre/devices/mtp/unix/upstream/update.py rmdir debian/tmp/usr/lib/calibre/calibre/devices/mtp/unix/upstream/ rm debian/tmp/usr/lib/calibre/tinycss/tests/*.py rmdir debian/tmp/usr/lib/calibre/tinycss/tests/ find debian/tmp/usr/lib/calibre debian/tmp/usr/share/calibre -name '*.py' -print | xargs --no-run-if-empty sed --separate --file=debian/fix-python-shebang.sed --in-place find debian/tmp/usr/lib/calibre/calibre/gui2 -name '*_ui.py' -print | xargs --no-run-if-empty sed --separate --file=debian/remove-ui-basepath.sed --in-place make[3]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' make[2]: 'install' is up to date. make[2]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' make[1]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' debian/rules execute_before_dh_install make[1]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' dh_buildinfo make[1]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' dh_install -O--buildsystem=makefile dh_installdocs -O--buildsystem=makefile dh_installchangelogs -O--buildsystem=makefile debian/rules override_dh_installman make[1]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' debian/install-manpages.sh make[1]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' debian/rules override_dh_python3 make[1]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' dh_python3 --no-package=calibre-bin --shebang=/usr/bin/python3.11 I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/lib/calibre/calibre/devices/cli.py I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/ebook-edit I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/ebook-viewer I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/lrfviewer I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/calibre I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/calibre-smtp I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/fetch-ebook-metadata I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/calibre-complete I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/calibre-customize I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/calibre-parallel I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/calibredb I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/calibre-debug I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/lrs2lrf I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/lrf2lrs I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/calibre-server I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/web2disk I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/markdown-calibre I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/ebook-polish I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/ebook-convert I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/ebook-meta I: dh_python3 tools:113: replacing shebang in debian/calibre/usr/bin/ebook-device make[1]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' dh_installsystemduser -O--buildsystem=makefile dh_lintian -O--buildsystem=makefile dh_icons -O--buildsystem=makefile dh_perl -O--buildsystem=makefile dh_link -O--buildsystem=makefile dh_strip_nondeterminism -O--buildsystem=makefile dh_compress -O--buildsystem=makefile dh_fixperms -O--buildsystem=makefile dh_missing -O--buildsystem=makefile dh_dwz -a -O--buildsystem=makefile dh_strip -a -O--buildsystem=makefile dh_makeshlibs -a -O--buildsystem=makefile dh_shlibdeps -a -O--buildsystem=makefile dh_installdeb -O--buildsystem=makefile debian/rules override_dh_gencontrol make[1]: Entering directory '/build/reproducible-path/calibre-7.10.0+ds' dh_gencontrol -- -Vpyqt:Version=6.6.1-2+b1 make[1]: Leaving directory '/build/reproducible-path/calibre-7.10.0+ds' dh_md5sums -O--buildsystem=makefile dh_builddeb -O--buildsystem=makefile dpkg-deb: building package 'calibre' in '../calibre_7.10.0+ds-1_all.deb'. dpkg-deb: building package 'calibre-bin-dbgsym' in '../calibre-bin-dbgsym_7.10.0+ds-1_arm64.deb'. dpkg-deb: building package 'calibre-bin' in '../calibre-bin_7.10.0+ds-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../calibre_7.10.0+ds-1_arm64.buildinfo dpkg-genchanges --build=binary -O../calibre_7.10.0+ds-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/3731387/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/3731387/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/3731387 and its subdirectories I: Current time: Sat May 4 16:12:07 +14 2024 I: pbuilder-time-stamp: 1714788727