mirror of
https://github.com/kiwix/kiwix-tools.git
synced 2026-01-11 15:37:44 -05:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17edba1d02 |
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@@ -14,10 +14,10 @@ jobs:
|
||||
- win32_dyn
|
||||
include:
|
||||
- target: native_static
|
||||
image_variant: focal
|
||||
image_variant: bionic
|
||||
lib_postfix: '/x86_64-linux-gnu'
|
||||
- target: native_dyn
|
||||
image_variant: focal
|
||||
image_variant: bionic
|
||||
lib_postfix: '/x86_64-linux-gnu'
|
||||
- target: win32_static
|
||||
image_variant: f35
|
||||
|
||||
9
.github/workflows/package.yml
vendored
9
.github/workflows/package.yml
vendored
@@ -8,6 +8,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
distro:
|
||||
- ubuntu-kinetic
|
||||
- ubuntu-jammy
|
||||
- ubuntu-focal
|
||||
steps:
|
||||
@@ -40,6 +41,14 @@ jobs:
|
||||
args: --no-sign
|
||||
ppa: ${{ steps.ppa.outputs.ppa }}
|
||||
|
||||
- uses: legoktm/gh-action-build-deb@ubuntu-kinetic
|
||||
if: matrix.distro == 'ubuntu-kinetic'
|
||||
name: Build package for ubuntu-kinetic
|
||||
id: build-ubuntu-kinetic
|
||||
with:
|
||||
args: --no-sign
|
||||
ppa: ${{ steps.ppa.outputs.ppa }}
|
||||
|
||||
- uses: legoktm/gh-action-build-deb@ubuntu-focal
|
||||
if: matrix.distro == 'ubuntu-focal'
|
||||
name: Build package for ubuntu-focal
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
# Read the Docs configuration file
|
||||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
||||
|
||||
# Required
|
||||
version: 2
|
||||
|
||||
# Set the version of Python and other tools you might need
|
||||
build:
|
||||
os: ubuntu-22.04
|
||||
tools:
|
||||
python: "3.11"
|
||||
|
||||
# Build documentation in the docs/ directory with Sphinx
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
||||
|
||||
# We recommend specifying your dependencies to enable reproducible builds:
|
||||
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
||||
python:
|
||||
install:
|
||||
- requirements: docs/requirements.txt
|
||||
@@ -1,10 +1,7 @@
|
||||
kiwix-tools 3.6.0
|
||||
=================
|
||||
Unreleased
|
||||
==========
|
||||
|
||||
* Improved kiwix-serve man page (@iArchitSharma #626)
|
||||
* C++17 compliant code base (@mgautierfr #636)
|
||||
* Support of libkiwix13 (@mgautierfr #633)
|
||||
* Additional docker images archs for armv6 and i386 (@rgaudin #622)
|
||||
* Additional docker images archs for armv6 and i386.
|
||||
|
||||
kiwix-tools 3.5.0
|
||||
=================
|
||||
|
||||
10
README.md
10
README.md
@@ -4,7 +4,7 @@ Kiwix tools
|
||||
The Kiwix tools is a collection of [Kiwix](https://kiwix.org) related
|
||||
command line tools:
|
||||
* kiwix-manage: Manage XML based library of ZIM files
|
||||
* kiwix-search: Full text search in ZIM files
|
||||
* kiwix-search: Fulltext search in ZIM files
|
||||
* kiwix-serve: HTTP daemon serving ZIM files
|
||||
|
||||
[](https://download.kiwix.org/release/kiwix-tools/)
|
||||
@@ -29,8 +29,8 @@ Preamble
|
||||
--------
|
||||
|
||||
Although the Kiwix tools can be compiled/cross-compiled on/for many
|
||||
systems, the following documentation explains how to do it on POSIX
|
||||
ones. It is primarily thought for GNU/Linux systems and has been tested
|
||||
sytems, the following documentation explains how to do it on POSIX
|
||||
ones. It is primarly thought for GNU/Linux systems and has been tested
|
||||
on recent releases of
|
||||
[Debian](https://debian.org)/[Ubuntu](https://ubuntu.com) and
|
||||
[Fedora](https://getfedora.org).
|
||||
@@ -62,7 +62,7 @@ Environment
|
||||
-------------
|
||||
|
||||
The Kiwix tools build using [Meson](http://mesonbuild.com/) version
|
||||
0.43 or higher. Meson relies itself on Ninja, pkg-config and a few other
|
||||
0.43 or higher. Meson relies itself on Ninja, pkg-config and few other
|
||||
compilation tools. Install them first:
|
||||
* [Meson](http://mesonbuild.com/)
|
||||
* [Ninja](https://ninja-build.org/)
|
||||
@@ -96,7 +96,7 @@ ninja -C build install
|
||||
```
|
||||
|
||||
You might need to run the command as `root` (or using `sudo`),
|
||||
depending on where you want to install the Kiwix tools. After the
|
||||
depending where you want to install the Kiwix tools. After the
|
||||
installation succeeded, you may need to run ldconfig (as `root`).
|
||||
|
||||
Uninstallation
|
||||
|
||||
@@ -42,12 +42,7 @@ Build an image for an ARM based GNU/Linux:
|
||||
docker build . -t ghcr.io/kiwix/kiwix-serve:latest --build-arg ARCH="arm32v7/"
|
||||
```
|
||||
|
||||
Docker Compose
|
||||
--------------
|
||||
|
||||
You can also deploy kiwix with
|
||||
[`docker-compose`](https://docs.docker.com/compose/). Check out a
|
||||
sample at [docker-compose.yml.example](docker-compose.yml.example).
|
||||
You can also deploy kiwix with [`docker-compose`](https://docs.docker.com/compose/). Check out a sample at [docker-compose.yml.example](docker-compose.yml.example)
|
||||
|
||||
Screenshots
|
||||
-----------
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
project('kiwix-tools', 'cpp',
|
||||
version : '3.6.0',
|
||||
version : '3.5.0',
|
||||
license : 'GPL',
|
||||
default_options: ['c_std=c11', 'cpp_std=c++17', 'werror=true'])
|
||||
default_options: ['c_std=c11', 'cpp_std=c++11', 'werror=true'])
|
||||
|
||||
compiler = meson.get_compiler('cpp')
|
||||
|
||||
@@ -16,7 +16,7 @@ if static_linkage
|
||||
endif
|
||||
|
||||
thread_dep = dependency('threads')
|
||||
kiwixlib_dep = dependency('kiwix', version:'>=13.0.0', static:static_linkage)
|
||||
kiwixlib_dep = dependency('kiwix', version:'>=12.0.0', static:static_linkage)
|
||||
libzim_dep = dependency('libzim', version:'>=8.1.0', static:static_linkage)
|
||||
|
||||
all_deps = [thread_dep, kiwixlib_dep, libzim_dep]
|
||||
|
||||
@@ -113,7 +113,7 @@ int handle_show(const kiwix::Library& library, const std::string& libraryPath,
|
||||
return(0);
|
||||
}
|
||||
|
||||
int handle_add(kiwix::LibraryPtr library, const std::string& libraryPath,
|
||||
int handle_add(std::shared_ptr<kiwix::Library> library, const std::string& libraryPath,
|
||||
int argc, char* argv[])
|
||||
{
|
||||
string zimPath;
|
||||
@@ -182,11 +182,11 @@ int handle_add(kiwix::LibraryPtr library, const std::string& libraryPath,
|
||||
return(resultCode);
|
||||
}
|
||||
|
||||
int handle_remove(kiwix::Library& library, const std::string& libraryPath,
|
||||
int handle_remove(std::shared_ptr<kiwix::Library> library, const std::string& libraryPath,
|
||||
int argc, char* argv[])
|
||||
{
|
||||
std::string bookId;
|
||||
const unsigned int totalBookCount = library.getBookCount(true, true);
|
||||
const unsigned int totalBookCount = library->getBookCount(true, true);
|
||||
int exitCode = 0;
|
||||
|
||||
if (argc <= 3) {
|
||||
@@ -203,7 +203,7 @@ int handle_remove(kiwix::Library& library, const std::string& libraryPath,
|
||||
for (int i = 3; i<argc; i++) {
|
||||
bookId = argv[i];
|
||||
|
||||
if (!library.removeBookById(bookId)) {
|
||||
if (!library->removeBookById(bookId)) {
|
||||
std::cerr << "Invalid book id '" << bookId << "'." << std::endl;
|
||||
exitCode = 1;
|
||||
}
|
||||
@@ -216,7 +216,7 @@ int main(int argc, char** argv)
|
||||
{
|
||||
string libraryPath = "";
|
||||
supportedAction action = NONE;
|
||||
auto library = kiwix::Library::create();
|
||||
auto library = std::make_shared<kiwix::Library>();
|
||||
|
||||
/* General argument parsing */
|
||||
static struct option long_options[] = {
|
||||
@@ -279,7 +279,7 @@ int main(int argc, char** argv)
|
||||
exitCode = handle_add(library, libraryPath, argc, argv);
|
||||
break;
|
||||
case REMOVE:
|
||||
exitCode = handle_remove(*library, libraryPath, argc, argv);
|
||||
exitCode = handle_remove(library, libraryPath, argc, argv);
|
||||
break;
|
||||
case NONE:
|
||||
break;
|
||||
|
||||
@@ -197,7 +197,7 @@ int main(int argc, char** argv)
|
||||
#endif
|
||||
|
||||
std::string rootLocation = "/";
|
||||
auto library = kiwix::Library::create();
|
||||
auto library = std::make_shared<kiwix::Library>();
|
||||
unsigned int nb_threads = DEFAULT_THREADS;
|
||||
std::vector<std::string> zimPathes;
|
||||
std::string libraryPath;
|
||||
@@ -377,7 +377,7 @@ int main(int argc, char** argv)
|
||||
#endif
|
||||
|
||||
auto nameMapper = std::make_shared<kiwix::UpdatableNameMapper>(library, noDateAliasesFlag);
|
||||
kiwix::Server server(library, nameMapper);
|
||||
kiwix::Server::Configuration configuration(library, nameMapper);
|
||||
|
||||
if (!customIndexPath.empty()) {
|
||||
try {
|
||||
@@ -388,17 +388,18 @@ int main(int argc, char** argv)
|
||||
}
|
||||
}
|
||||
|
||||
server.setAddress(address);
|
||||
server.setRoot(rootLocation);
|
||||
server.setPort(serverPort);
|
||||
server.setNbThreads(nb_threads);
|
||||
server.setVerbose(isVerboseFlag);
|
||||
server.setTaskbar(!noSearchBarFlag, !noLibraryButtonFlag);
|
||||
server.setBlockExternalLinks(blockExternalLinks);
|
||||
server.setIndexTemplateString(indexTemplateString);
|
||||
server.setIpConnectionLimit(ipConnectionLimit);
|
||||
server.setMultiZimSearchLimit(searchLimit);
|
||||
configuration.setAddress(address);
|
||||
configuration.setRoot(rootLocation);
|
||||
configuration.setPort(serverPort);
|
||||
configuration.setNbThreads(nb_threads);
|
||||
configuration.setVerbose(isVerboseFlag);
|
||||
configuration.setTaskbar(!noSearchBarFlag, !noLibraryButtonFlag);
|
||||
configuration.setBlockExternalLinks(blockExternalLinks);
|
||||
configuration.setIndexTemplateString(indexTemplateString);
|
||||
configuration.setIpConnectionLimit(ipConnectionLimit);
|
||||
configuration.setMultiZimSearchLimit(searchLimit);
|
||||
|
||||
kiwix::Server server(configuration);
|
||||
if (! server.start()) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user