Merge pull request #196 from kiwix/no_install

Remove kiwix-install tool.
This commit is contained in:
Matthieu Gautier 2018-05-21 12:18:30 +02:00 committed by GitHub
commit dfc601dacf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 3 additions and 315 deletions

View File

@ -1,173 +0,0 @@
/*
* Copyright 2011-2014 Emmanuel Engelhart <kelson@kiwix.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#include <getopt.h>
#include <kiwix/common/pathTools.h>
#include <kiwix/manager.h>
#include <kiwix/reader.h>
enum supportedAction { NONE, ADDCONTENT };
void usage()
{
cout << "Usage: kiwix-install [--verbose] addcontent ZIM_PATH KIWIX_PATH"
<< endl;
exit(1);
}
int main(int argc, char** argv)
{
/* Init the variables */
const char* contentPath = NULL;
const char* kiwixPath = NULL;
supportedAction action = NONE;
bool verboseFlag = false;
int option_index = 0;
int c = 0;
/* Argument parsing */
while (42) {
static struct option long_options[]
= {{"verbose", no_argument, 0, 'v'}, {0, 0, 0, 0}};
if (c != -1) {
c = getopt_long(argc, argv, "vi", long_options, &option_index);
switch (c) {
case 'v':
verboseFlag = true;
break;
}
} else {
if (optind < argc) {
if (action == NONE) {
string actionString = argv[optind++];
if (actionString == "addcontent" || actionString == "ADDCONTENT") {
action = ADDCONTENT;
}
} else if (contentPath == NULL) {
contentPath = argv[optind++];
} else if (kiwixPath == NULL) {
kiwixPath = argv[optind++];
} else {
usage();
}
} else {
break;
}
}
}
/* Check if we have enough arguments */
if (contentPath == NULL || kiwixPath == NULL) {
usage();
}
/* Make the action */
if (action == ADDCONTENT) {
/* Check if the content path exists and is readable */
if (verboseFlag) {
std::cout << "Check if the ZIM file exists..." << std::endl;
}
if (!fileExists(contentPath)) {
cerr << "The content path '" << contentPath
<< "' does not exist or is not readable." << endl;
exit(1);
}
/* Check if this is a ZIM file */
try {
if (verboseFlag) {
std::cout << "Check if the ZIM file is valid..." << std::endl;
}
kiwix::Reader* reader = new kiwix::Reader(contentPath);
delete reader;
} catch (exception& e) {
cerr << "The content available at '" << contentPath
<< "' is not a ZIM file." << endl;
exit(1);
}
string contentFilename = getLastPathElement(contentPath);
/* Check if kiwixPath/kiwix/kiwix.exe exists */
if (verboseFlag) {
std::cout << "Check if the Kiwix path is valid..." << std::endl;
}
string kiwixBinaryPath = computeAbsolutePath(kiwixPath, "kiwix/kiwix.exe");
if (!fileExists(kiwixBinaryPath)) {
kiwixBinaryPath = computeAbsolutePath(kiwixPath, "kiwix/kiwix");
if (!fileExists(kiwixBinaryPath)) {
cerr << "Unable to find the Kiwix binary at '" << kiwixBinaryPath
<< "[.exe]'." << endl;
exit(1);
}
}
/* Check if the directory "data" structure exists */
if (verboseFlag) {
std::cout << "Check the target data directory structure..." << std::endl;
}
string dataPath = computeAbsolutePath(kiwixPath, "data/");
if (!fileExists(dataPath)) {
makeDirectory(dataPath);
}
/* Check if the directory "data/content" structure exists */
string dataContentPath = computeAbsolutePath(kiwixPath, "data/content/");
if (!fileExists(dataContentPath)) {
makeDirectory(dataContentPath);
}
/* Check if the directory "data/library" structure exists */
string dataLibraryPath = computeAbsolutePath(kiwixPath, "data/library/");
if (!fileExists(dataLibraryPath)) {
makeDirectory(dataLibraryPath);
}
/* Copy the file to the data/content directory */
if (verboseFlag) {
std::cout << "Copy ZIM file to the target directory..." << std::endl;
}
string newContentPath
= computeAbsolutePath(dataContentPath, contentFilename);
if (!fileExists(newContentPath)
|| getFileSize(contentPath) != getFileSize(newContentPath)) {
copyFile(contentPath, newContentPath);
}
/* Add the file to the library.xml */
if (verboseFlag) {
std::cout << "Create the library XML file..." << std::endl;
}
kiwix::Manager libraryManager;
string libraryPath
= computeAbsolutePath(dataLibraryPath, contentFilename + ".xml");
string bookId = libraryManager.addBookFromPathAndGetId(
newContentPath, "../content/" + contentFilename, "", false);
if (!bookId.empty()) {
libraryManager.setCurrentBookId(bookId);
libraryManager.writeFile(libraryPath);
} else {
cerr << "Unable to build or save library file '" << libraryPath << "'"
<< endl;
}
}
exit(0);
}

View File

@ -1,4 +0,0 @@
executable('kiwix-install', ['kiwix-install.cpp'],
dependencies:all_deps,
install:true,
install_rpath: join_paths(get_option('prefix'), get_option('libdir')))

View File

@ -1,40 +0,0 @@
.TH KIWIX 1 "21 May 2012"
.SH NAME
kiwix\-install \- Installeur de fichiers ZIM
.SH SYNOPSIS
.IX Header SYNOPSIS
kiwix\-install [\-\-verbose|-v] [\-\-backend|\-b=xapian|clucene] [\-\-buildIndex|\-i] addcontent ZIM_PATH KIWIX_PATH
.SH DESCRIPTION
.PP
Créé une arborescence contenant Kiwix et des données pour redistribution.
.br
Si demandé, créé aussi un index plein texte.
.TP
\fB\-\-verbose\fR
Active le mode verbeux de la sortie.
.TP
\fB\-\-backend=xapian|clucene\fR
Séléctionne un moteur d'indexation.
.TP
\fB\-\-buildIndex\fR
Créer un index plein texte pour le fichier ZIM.
.TP
\fBZIM_PATH\fR
Chemin du fichier de contenu ZIM.
.TP
\fBKIWIX_PATH\fR
Chemin d'accès dossier kiwix/.
.br
Le chemin doit contenit le binaire statique de Kiwix.
.SH SEE ALSO
kiwix(1) kiwix\-serve(1) kiwix\-manage(1)
.SH AUTHOR
Emmanuel Engelhart <kelson@kiwix.org>
.br
Vasudev Kamath <kamathvasudev@gmail.com> (Manual)

View File

@ -1,52 +0,0 @@
.TH KIWIX 1 "12 juin 2012"
.SH NAME
Kiwix \- Lecteur hors-ligne de fichiers ZIM
.SH SYNOPSIS
.B kiwix [-jsconsole] [-articleByUrl] [-articleByTitle] [FILE]
.SH DESCRIPTION
.PP
Kiwix est un lecteur de content au format ZIM.
.br
Les fichiers ZIM sont des archives de contenus compressés (généralement HTML)
.br
Les fichiers ZIM les plus populaires sont ceux de Wikipédia et Wikileaks.
.TP
\fB\-jsconsole\fR
Active la console de debogage JavaScript de Xulrunner.
\fB\-articleByUrl url\fR
Ouvre un article en particulier en renseignant son url. FILE doit être donné.
.TP
\fB\-articleByTitle title\fR
Ouvre un article en particulier en renseignant son titre. FILE doit être donné.
.PP
Fonctionnalités:
* Lecteur de ZIM natif
* Moteur de recherche plein texte
* Signets et Notes
* Serveur Web pour diffuser les fichiers ZIM sur le réseau
* Export HTML et PDF
* Traduits dans de nombreuses langues
* Suggestions de recherche
* Indexation des fichiers ZIM
* Onglets de navigation
* Bibliothèque de contenus intégrée
.SH SEE ALSO
kiwix\-install(1) kiwix\-serve(1)
.br
kiwix\-manage(1)
.SH TROUBLESHOOTING
Aller à http://reportabug.kiwix.org pour plus de détails sur comment rapporter un bogue.
.SH AUTHORS
Emmanuel Engelhart <kelson@kiwix.org>
Guillaume Duhamel <gduhamel@linterweb.com>
Fabien Coullon <fcoulon@linterweb.com>
Renaud Gaudin <rgaudin@gmail.com>
Wilfredo Rodriguez <wilfredor@kiwix.org>
.br
Vasudev Kamath <kamathvasudev@gmail.com> (Manual)

View File

@ -1,4 +1,3 @@
install_man('kiwix-install.1', install_man('kiwix-manage.1',
'kiwix-manage.1',
'kiwix-serve.1', 'kiwix-serve.1',
install_dir:get_option('mandir')+'/fr/man1') install_dir:get_option('mandir')+'/fr/man1')

View File

@ -1,40 +0,0 @@
.TH KIWIX 1 "21 May 2012"
.SH NAME
kiwix\-install \- Kiwix ZIM Installer
.SH SYNOPSIS
.IX Header SYNOPSIS
kiwix\-install [\-\-verbose|-v] [\-\-backend|\-b=xapian|clucene] [\-\-buildIndex|\-i] addcontent ZIM_PATH KIWIX_PATH
.SH DESCRIPTION
.PP
Creates a standalone Kiwix + data hierarchy.
.br
If specified, also creates a full\-text index.
.TP
\fB\-\-verbose\fR
Enable verbose output.
.TP
\fB\-\-backend=xapian|clucene\fR
Select an indexing backend.
.TP
\fB\-\-buildIndex\fR
Build an index for the ZIM file.
.TP
\fBZIM_PATH\fR
ZIM content file path.
.TP
\fBKIWIX_PATH\fR
Path to the kiwix/ folder.
.br
The path must contain the kiwix standalone binary.
.SH SEE ALSO
kiwix(1) kiwix\-serve(1) kiwix\-manage(1)
.SH AUTHOR
Emmanuel Engelhart <kelson@kiwix.org>
.br
Vasudev Kamath <kamathvasudev@gmail.com> (Manual)

View File

@ -1,4 +1,3 @@
install_man('kiwix-install.1', install_man('kiwix-manage.1',
'kiwix-manage.1',
'kiwix-serve.1') 'kiwix-serve.1')
subdir('fr') subdir('fr')

View File

@ -1,5 +1,4 @@
subdir('installer')
subdir('manager') subdir('manager')
subdir('reader') subdir('reader')
subdir('searcher') subdir('searcher')