summaryrefslogtreecommitdiff
path: root/python-libzim.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-libzim.spec')
-rw-r--r--python-libzim.spec609
1 files changed, 609 insertions, 0 deletions
diff --git a/python-libzim.spec b/python-libzim.spec
new file mode 100644
index 0000000..4d4e6b1
--- /dev/null
+++ b/python-libzim.spec
@@ -0,0 +1,609 @@
+%global _empty_manifest_terminate_build 0
+Name: python-libzim
+Version: 3.1.0
+Release: 1
+Summary: A python-facing API for creating and interacting with ZIM files
+License: GPL-3.0-or-later
+URL: https://github.com/openzim/python-libzim
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/45/1a/129c826240f7965173f3c66cfc31aa3da97e4a3eb667572bb31a8cb3d9d2/libzim-3.1.0.tar.gz
+BuildArch: noarch
+
+
+%description
+# python-libzim
+
+`libzim` module allows you to read and write [ZIM
+files](https://openzim.org) in Python. It provides a shallow python
+interface on top of the [C++ `libzim` library](https://github.com/openzim/libzim).
+
+It is primarily used in [openZIM](https://github.com/openzim/) scrapers like [`sotoki`](https://github.com/openzim/sotoki) or [`youtube2zim`](https://github.com/openzim/youtube).
+
+[![Build Status](https://github.com/openzim/python-libzim/workflows/test/badge.svg?query=branch%3Amain)](https://github.com/openzim/python-libzim/actions?query=branch%3Amain)
+[![CodeFactor](https://www.codefactor.io/repository/github/openzim/python-libzim/badge)](https://www.codefactor.io/repository/github/openzim/python-libzim)
+[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
+[![PyPI version shields.io](https://img.shields.io/pypi/v/libzim.svg)](https://pypi.org/project/libzim/)
+[![codecov](https://codecov.io/gh/openzim/python-libzim/branch/main/graph/badge.svg)](https://codecov.io/gh/openzim/python-libzim)
+
+## Installation
+
+```sh
+pip install libzim
+```
+
+Our [PyPI wheels](https://pypi.org/project/libzim/) bundle a [recent release](https://download.openzim.org/release/libzim/) of the C++ libzim and are available for the following platforms:
+
+- macOS for `x86_64` and `arm64`
+- GNU/Linux for `x86_64`, `armhf` and `aarch64`
+- Linux+musl for `x86_64` and `aarch64`
+
+Wheels are available for both CPython and PyPy.
+
+Users on other platforms can install the source distribution (see [Building](#Building) below).
+
+
+## Contributions
+
+```sh
+git clone git@github.com:openzim/python-libzim.git && cd python-libzim
+# python -m venv env && source env/bin/activate
+pip install -U setuptools invoke
+invoke download-libzim install-dev build-ext test
+# invoke --list for available development helpers
+```
+
+See [CONTRIBUTING.md](./CONTRIBUTING.md) for additional details then [Open a ticket](https://github.com/openzim/python-libzim/issues/new) or submit a Pull Request on Github 🤗!
+
+## Usage
+
+### Read a ZIM file
+
+```python
+from libzim.reader import Archive
+from libzim.search import Query, Searcher
+from libzim.suggestion import SuggestionSearcher
+
+zim = Archive("test.zim")
+print(f"Main entry is at {zim.main_entry.get_item().path}")
+entry = zim.get_entry_by_path("home/fr")
+print(f"Entry {entry.title} at {entry.path} is {entry.get_item().size}b.")
+print(bytes(entry.get_item().content).decode("UTF-8"))
+
+# searching using full-text index
+search_string = "Welcome"
+query = Query().set_query(search_string)
+searcher = Searcher(zim)
+search = searcher.search(query)
+search_count = search.getEstimatedMatches()
+print(f"there are {search_count} matches for {search_string}")
+print(list(search.getResults(0, search_count)))
+
+# accessing suggestions
+search_string = "kiwix"
+suggestion_searcher = SuggestionSearcher(zim)
+suggestion = suggestion_searcher.suggest(search_string)
+suggestion_count = suggestion.getEstimatedMatches()
+print(f"there are {suggestion_count} matches for {search_string}")
+print(list(suggestion.getResults(0, suggestion_count)))
+```
+
+### Write a ZIM file
+
+```py
+from libzim.writer import Creator, Item, StringProvider, FileProvider, Hint
+
+
+class MyItem(Item):
+ def __init__(self, title, path, content = "", fpath = None):
+ super().__init__()
+ self.path = path
+ self.title = title
+ self.content = content
+ self.fpath = fpath
+
+ def get_path(self):
+ return self.path
+
+ def get_title(self):
+ return self.title
+
+ def get_mimetype(self):
+ return "text/html"
+
+ def get_contentprovider(self):
+ if self.fpath is not None:
+ return FileProvider(self.fpath)
+ return StringProvider(self.content)
+
+ def get_hints(self):
+ return {Hint.FRONT_ARTICLE: True}
+
+
+content = """<html><head><meta charset="UTF-8"><title>Web Page Title</title></head>
+<body><h1>Welcome to this ZIM</h1><p>Kiwix</p></body></html>"""
+
+item = MyItem("Hello Kiwix", "home", content)
+item2 = MyItem("Bonjour Kiwix", "home/fr", None, "home-fr.html")
+
+with Creator("test.zim").config_indexing(True, "eng") as creator:
+ creator.set_mainpath("home")
+ creator.add_item(item)
+ creator.add_item(item2)
+ for name, value in {
+ "creator": "python-libzim",
+ "description": "Created in python",
+ "name": "my-zim",
+ "publisher": "You",
+ "title": "Test ZIM",
+ }.items():
+
+ creator.add_metadata(name.title(), value)
+```
+
+## Building
+
+`libzim` package building offers different behaviors via environment variables
+
+| Variable | Example | Use case |
+| -------------------------------- | ---------------------------------------- | -------- |
+| `LIBZIM_DL_VERSION` | `8.1.1` or `2023-04-14` | Specify the C++ libzim binary version to download and bundle. Either a release version string or a date, in which case it downloads a nightly |
+| `USE_SYSTEM_LIBZIM` | `1` | Uses `LDFLAG` and `CFLAGS` to find the libzim to link against. Resulting wheel won't bundle C++ libzim. |
+| `DONT_DOWNLOAD_LIBZIM` | `1` | Disable downloading of C++ libzim. Place headers in `include/` and libzim dylib/so in `libzim/` if no using system libzim. It will be bundled in wheel. |
+| `PROFILE` | `1` | Enable profile tracing in Cython extension. Required for Cython code coverage reporting. |
+| `SIGN_APPLE` | `1` | Set to sign and notarize the extension for macOS. Requires following informations |
+| `APPLE_SIGNING_IDENTITY` | `Developer ID Application: OrgName (ID)` | Required for signing on macOS |
+| `APPLE_SIGNING_KEYCHAIN_PATH` | `/tmp/build.keychain` | Path to the Keychain containing the certificate to sign for macOS with |
+| `APPLE_SIGNING_KEYCHAIN_PROFILE` | `build` | Name of the profile in the specified Keychain |
+
+### Examples
+
+##### Default: downloading and bundling most appropriate libzim release binary
+
+```sh
+python3 -m build
+```
+
+#### Using system libzim (brew, debian or manually installed) - not bundled
+
+```sh
+# using system-installed C++ libzim
+brew install libzim # macOS
+apt-get install libzim-devel # debian
+dnf install libzim-dev # fedora
+USE_SYSTEM_LIBZIM=1 python3 -m build --wheel
+
+# using a specific C++ libzim
+USE_SYSTEM_LIBZIM=1 \
+CFLAGS="-I/usr/local/include" \
+LDFLAGS="-L/usr/local/lib"
+DYLD_LIBRARY_PATH="/usr/local/lib" \
+LD_LIBRARY_PATH="/usr/local/lib" \
+python3 -m build --wheel
+```
+
+#### Other platforms
+
+On platforms for which there is no [official binary](https://download.openzim.org/release/libzim/) available, you'd have to [compile C++ libzim from source](https://github.com/openzim/libzim) first then either use `DONT_DOWNLOAD_LIBZIM` or `USE_SYSTEM_LIBZIM`.
+
+
+## License
+
+[GPLv3](https://www.gnu.org/licenses/gpl-3.0) or later, see
+[LICENSE](LICENSE) for more details.
+
+
+%package -n python3-libzim
+Summary: A python-facing API for creating and interacting with ZIM files
+Provides: python-libzim
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-libzim
+# python-libzim
+
+`libzim` module allows you to read and write [ZIM
+files](https://openzim.org) in Python. It provides a shallow python
+interface on top of the [C++ `libzim` library](https://github.com/openzim/libzim).
+
+It is primarily used in [openZIM](https://github.com/openzim/) scrapers like [`sotoki`](https://github.com/openzim/sotoki) or [`youtube2zim`](https://github.com/openzim/youtube).
+
+[![Build Status](https://github.com/openzim/python-libzim/workflows/test/badge.svg?query=branch%3Amain)](https://github.com/openzim/python-libzim/actions?query=branch%3Amain)
+[![CodeFactor](https://www.codefactor.io/repository/github/openzim/python-libzim/badge)](https://www.codefactor.io/repository/github/openzim/python-libzim)
+[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
+[![PyPI version shields.io](https://img.shields.io/pypi/v/libzim.svg)](https://pypi.org/project/libzim/)
+[![codecov](https://codecov.io/gh/openzim/python-libzim/branch/main/graph/badge.svg)](https://codecov.io/gh/openzim/python-libzim)
+
+## Installation
+
+```sh
+pip install libzim
+```
+
+Our [PyPI wheels](https://pypi.org/project/libzim/) bundle a [recent release](https://download.openzim.org/release/libzim/) of the C++ libzim and are available for the following platforms:
+
+- macOS for `x86_64` and `arm64`
+- GNU/Linux for `x86_64`, `armhf` and `aarch64`
+- Linux+musl for `x86_64` and `aarch64`
+
+Wheels are available for both CPython and PyPy.
+
+Users on other platforms can install the source distribution (see [Building](#Building) below).
+
+
+## Contributions
+
+```sh
+git clone git@github.com:openzim/python-libzim.git && cd python-libzim
+# python -m venv env && source env/bin/activate
+pip install -U setuptools invoke
+invoke download-libzim install-dev build-ext test
+# invoke --list for available development helpers
+```
+
+See [CONTRIBUTING.md](./CONTRIBUTING.md) for additional details then [Open a ticket](https://github.com/openzim/python-libzim/issues/new) or submit a Pull Request on Github 🤗!
+
+## Usage
+
+### Read a ZIM file
+
+```python
+from libzim.reader import Archive
+from libzim.search import Query, Searcher
+from libzim.suggestion import SuggestionSearcher
+
+zim = Archive("test.zim")
+print(f"Main entry is at {zim.main_entry.get_item().path}")
+entry = zim.get_entry_by_path("home/fr")
+print(f"Entry {entry.title} at {entry.path} is {entry.get_item().size}b.")
+print(bytes(entry.get_item().content).decode("UTF-8"))
+
+# searching using full-text index
+search_string = "Welcome"
+query = Query().set_query(search_string)
+searcher = Searcher(zim)
+search = searcher.search(query)
+search_count = search.getEstimatedMatches()
+print(f"there are {search_count} matches for {search_string}")
+print(list(search.getResults(0, search_count)))
+
+# accessing suggestions
+search_string = "kiwix"
+suggestion_searcher = SuggestionSearcher(zim)
+suggestion = suggestion_searcher.suggest(search_string)
+suggestion_count = suggestion.getEstimatedMatches()
+print(f"there are {suggestion_count} matches for {search_string}")
+print(list(suggestion.getResults(0, suggestion_count)))
+```
+
+### Write a ZIM file
+
+```py
+from libzim.writer import Creator, Item, StringProvider, FileProvider, Hint
+
+
+class MyItem(Item):
+ def __init__(self, title, path, content = "", fpath = None):
+ super().__init__()
+ self.path = path
+ self.title = title
+ self.content = content
+ self.fpath = fpath
+
+ def get_path(self):
+ return self.path
+
+ def get_title(self):
+ return self.title
+
+ def get_mimetype(self):
+ return "text/html"
+
+ def get_contentprovider(self):
+ if self.fpath is not None:
+ return FileProvider(self.fpath)
+ return StringProvider(self.content)
+
+ def get_hints(self):
+ return {Hint.FRONT_ARTICLE: True}
+
+
+content = """<html><head><meta charset="UTF-8"><title>Web Page Title</title></head>
+<body><h1>Welcome to this ZIM</h1><p>Kiwix</p></body></html>"""
+
+item = MyItem("Hello Kiwix", "home", content)
+item2 = MyItem("Bonjour Kiwix", "home/fr", None, "home-fr.html")
+
+with Creator("test.zim").config_indexing(True, "eng") as creator:
+ creator.set_mainpath("home")
+ creator.add_item(item)
+ creator.add_item(item2)
+ for name, value in {
+ "creator": "python-libzim",
+ "description": "Created in python",
+ "name": "my-zim",
+ "publisher": "You",
+ "title": "Test ZIM",
+ }.items():
+
+ creator.add_metadata(name.title(), value)
+```
+
+## Building
+
+`libzim` package building offers different behaviors via environment variables
+
+| Variable | Example | Use case |
+| -------------------------------- | ---------------------------------------- | -------- |
+| `LIBZIM_DL_VERSION` | `8.1.1` or `2023-04-14` | Specify the C++ libzim binary version to download and bundle. Either a release version string or a date, in which case it downloads a nightly |
+| `USE_SYSTEM_LIBZIM` | `1` | Uses `LDFLAG` and `CFLAGS` to find the libzim to link against. Resulting wheel won't bundle C++ libzim. |
+| `DONT_DOWNLOAD_LIBZIM` | `1` | Disable downloading of C++ libzim. Place headers in `include/` and libzim dylib/so in `libzim/` if no using system libzim. It will be bundled in wheel. |
+| `PROFILE` | `1` | Enable profile tracing in Cython extension. Required for Cython code coverage reporting. |
+| `SIGN_APPLE` | `1` | Set to sign and notarize the extension for macOS. Requires following informations |
+| `APPLE_SIGNING_IDENTITY` | `Developer ID Application: OrgName (ID)` | Required for signing on macOS |
+| `APPLE_SIGNING_KEYCHAIN_PATH` | `/tmp/build.keychain` | Path to the Keychain containing the certificate to sign for macOS with |
+| `APPLE_SIGNING_KEYCHAIN_PROFILE` | `build` | Name of the profile in the specified Keychain |
+
+### Examples
+
+##### Default: downloading and bundling most appropriate libzim release binary
+
+```sh
+python3 -m build
+```
+
+#### Using system libzim (brew, debian or manually installed) - not bundled
+
+```sh
+# using system-installed C++ libzim
+brew install libzim # macOS
+apt-get install libzim-devel # debian
+dnf install libzim-dev # fedora
+USE_SYSTEM_LIBZIM=1 python3 -m build --wheel
+
+# using a specific C++ libzim
+USE_SYSTEM_LIBZIM=1 \
+CFLAGS="-I/usr/local/include" \
+LDFLAGS="-L/usr/local/lib"
+DYLD_LIBRARY_PATH="/usr/local/lib" \
+LD_LIBRARY_PATH="/usr/local/lib" \
+python3 -m build --wheel
+```
+
+#### Other platforms
+
+On platforms for which there is no [official binary](https://download.openzim.org/release/libzim/) available, you'd have to [compile C++ libzim from source](https://github.com/openzim/libzim) first then either use `DONT_DOWNLOAD_LIBZIM` or `USE_SYSTEM_LIBZIM`.
+
+
+## License
+
+[GPLv3](https://www.gnu.org/licenses/gpl-3.0) or later, see
+[LICENSE](LICENSE) for more details.
+
+
+%package help
+Summary: Development documents and examples for libzim
+Provides: python3-libzim-doc
+%description help
+# python-libzim
+
+`libzim` module allows you to read and write [ZIM
+files](https://openzim.org) in Python. It provides a shallow python
+interface on top of the [C++ `libzim` library](https://github.com/openzim/libzim).
+
+It is primarily used in [openZIM](https://github.com/openzim/) scrapers like [`sotoki`](https://github.com/openzim/sotoki) or [`youtube2zim`](https://github.com/openzim/youtube).
+
+[![Build Status](https://github.com/openzim/python-libzim/workflows/test/badge.svg?query=branch%3Amain)](https://github.com/openzim/python-libzim/actions?query=branch%3Amain)
+[![CodeFactor](https://www.codefactor.io/repository/github/openzim/python-libzim/badge)](https://www.codefactor.io/repository/github/openzim/python-libzim)
+[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
+[![PyPI version shields.io](https://img.shields.io/pypi/v/libzim.svg)](https://pypi.org/project/libzim/)
+[![codecov](https://codecov.io/gh/openzim/python-libzim/branch/main/graph/badge.svg)](https://codecov.io/gh/openzim/python-libzim)
+
+## Installation
+
+```sh
+pip install libzim
+```
+
+Our [PyPI wheels](https://pypi.org/project/libzim/) bundle a [recent release](https://download.openzim.org/release/libzim/) of the C++ libzim and are available for the following platforms:
+
+- macOS for `x86_64` and `arm64`
+- GNU/Linux for `x86_64`, `armhf` and `aarch64`
+- Linux+musl for `x86_64` and `aarch64`
+
+Wheels are available for both CPython and PyPy.
+
+Users on other platforms can install the source distribution (see [Building](#Building) below).
+
+
+## Contributions
+
+```sh
+git clone git@github.com:openzim/python-libzim.git && cd python-libzim
+# python -m venv env && source env/bin/activate
+pip install -U setuptools invoke
+invoke download-libzim install-dev build-ext test
+# invoke --list for available development helpers
+```
+
+See [CONTRIBUTING.md](./CONTRIBUTING.md) for additional details then [Open a ticket](https://github.com/openzim/python-libzim/issues/new) or submit a Pull Request on Github 🤗!
+
+## Usage
+
+### Read a ZIM file
+
+```python
+from libzim.reader import Archive
+from libzim.search import Query, Searcher
+from libzim.suggestion import SuggestionSearcher
+
+zim = Archive("test.zim")
+print(f"Main entry is at {zim.main_entry.get_item().path}")
+entry = zim.get_entry_by_path("home/fr")
+print(f"Entry {entry.title} at {entry.path} is {entry.get_item().size}b.")
+print(bytes(entry.get_item().content).decode("UTF-8"))
+
+# searching using full-text index
+search_string = "Welcome"
+query = Query().set_query(search_string)
+searcher = Searcher(zim)
+search = searcher.search(query)
+search_count = search.getEstimatedMatches()
+print(f"there are {search_count} matches for {search_string}")
+print(list(search.getResults(0, search_count)))
+
+# accessing suggestions
+search_string = "kiwix"
+suggestion_searcher = SuggestionSearcher(zim)
+suggestion = suggestion_searcher.suggest(search_string)
+suggestion_count = suggestion.getEstimatedMatches()
+print(f"there are {suggestion_count} matches for {search_string}")
+print(list(suggestion.getResults(0, suggestion_count)))
+```
+
+### Write a ZIM file
+
+```py
+from libzim.writer import Creator, Item, StringProvider, FileProvider, Hint
+
+
+class MyItem(Item):
+ def __init__(self, title, path, content = "", fpath = None):
+ super().__init__()
+ self.path = path
+ self.title = title
+ self.content = content
+ self.fpath = fpath
+
+ def get_path(self):
+ return self.path
+
+ def get_title(self):
+ return self.title
+
+ def get_mimetype(self):
+ return "text/html"
+
+ def get_contentprovider(self):
+ if self.fpath is not None:
+ return FileProvider(self.fpath)
+ return StringProvider(self.content)
+
+ def get_hints(self):
+ return {Hint.FRONT_ARTICLE: True}
+
+
+content = """<html><head><meta charset="UTF-8"><title>Web Page Title</title></head>
+<body><h1>Welcome to this ZIM</h1><p>Kiwix</p></body></html>"""
+
+item = MyItem("Hello Kiwix", "home", content)
+item2 = MyItem("Bonjour Kiwix", "home/fr", None, "home-fr.html")
+
+with Creator("test.zim").config_indexing(True, "eng") as creator:
+ creator.set_mainpath("home")
+ creator.add_item(item)
+ creator.add_item(item2)
+ for name, value in {
+ "creator": "python-libzim",
+ "description": "Created in python",
+ "name": "my-zim",
+ "publisher": "You",
+ "title": "Test ZIM",
+ }.items():
+
+ creator.add_metadata(name.title(), value)
+```
+
+## Building
+
+`libzim` package building offers different behaviors via environment variables
+
+| Variable | Example | Use case |
+| -------------------------------- | ---------------------------------------- | -------- |
+| `LIBZIM_DL_VERSION` | `8.1.1` or `2023-04-14` | Specify the C++ libzim binary version to download and bundle. Either a release version string or a date, in which case it downloads a nightly |
+| `USE_SYSTEM_LIBZIM` | `1` | Uses `LDFLAG` and `CFLAGS` to find the libzim to link against. Resulting wheel won't bundle C++ libzim. |
+| `DONT_DOWNLOAD_LIBZIM` | `1` | Disable downloading of C++ libzim. Place headers in `include/` and libzim dylib/so in `libzim/` if no using system libzim. It will be bundled in wheel. |
+| `PROFILE` | `1` | Enable profile tracing in Cython extension. Required for Cython code coverage reporting. |
+| `SIGN_APPLE` | `1` | Set to sign and notarize the extension for macOS. Requires following informations |
+| `APPLE_SIGNING_IDENTITY` | `Developer ID Application: OrgName (ID)` | Required for signing on macOS |
+| `APPLE_SIGNING_KEYCHAIN_PATH` | `/tmp/build.keychain` | Path to the Keychain containing the certificate to sign for macOS with |
+| `APPLE_SIGNING_KEYCHAIN_PROFILE` | `build` | Name of the profile in the specified Keychain |
+
+### Examples
+
+##### Default: downloading and bundling most appropriate libzim release binary
+
+```sh
+python3 -m build
+```
+
+#### Using system libzim (brew, debian or manually installed) - not bundled
+
+```sh
+# using system-installed C++ libzim
+brew install libzim # macOS
+apt-get install libzim-devel # debian
+dnf install libzim-dev # fedora
+USE_SYSTEM_LIBZIM=1 python3 -m build --wheel
+
+# using a specific C++ libzim
+USE_SYSTEM_LIBZIM=1 \
+CFLAGS="-I/usr/local/include" \
+LDFLAGS="-L/usr/local/lib"
+DYLD_LIBRARY_PATH="/usr/local/lib" \
+LD_LIBRARY_PATH="/usr/local/lib" \
+python3 -m build --wheel
+```
+
+#### Other platforms
+
+On platforms for which there is no [official binary](https://download.openzim.org/release/libzim/) available, you'd have to [compile C++ libzim from source](https://github.com/openzim/libzim) first then either use `DONT_DOWNLOAD_LIBZIM` or `USE_SYSTEM_LIBZIM`.
+
+
+## License
+
+[GPLv3](https://www.gnu.org/licenses/gpl-3.0) or later, see
+[LICENSE](LICENSE) for more details.
+
+
+%prep
+%autosetup -n libzim-3.1.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-libzim -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 3.1.0-1
+- Package Spec generated