mirror of
https://github.com/simon987/sist2.git
synced 2025-04-22 03:36:48 +00:00
Compare commits
9 Commits
a4ecce363c
...
52466d5d8a
Author | SHA1 | Date | |
---|---|---|---|
52466d5d8a | |||
5f73fc024b | |||
f2fd7ccf41 | |||
d87fee8e00 | |||
|
672d1344d7 | ||
27e32db1ed | |||
bb91139ffb | |||
70cfa8c37c | |||
7493dedc8c |
@ -7,7 +7,7 @@ RUN cmake -DSIST_PLATFORM=arm64_linux -DSIST_DEBUG=off -DBUILD_TESTS=off -DCMAKE
|
|||||||
RUN make -j$(nproc)
|
RUN make -j$(nproc)
|
||||||
RUN strip sist2
|
RUN strip sist2
|
||||||
|
|
||||||
FROM --platform linux/arm64/v8 ubuntu:21.10
|
FROM --platform="linux/arm64/v8" ubuntu:21.10
|
||||||
|
|
||||||
RUN apt update && apt install -y curl libasan5 && rm -rf /var/lib/apt/lists/*
|
RUN apt update && apt install -y curl libasan5 && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ sist2 (Simple incremental search tool)
|
|||||||
1. Download the [latest sist2 release](https://github.com/simon987/sist2/releases) *
|
1. Download the [latest sist2 release](https://github.com/simon987/sist2/releases) *
|
||||||
1. *(or)* Download a [development snapshot](https://files.simon987.net/.gate/sist2/simon987_sist2/) *(Not
|
1. *(or)* Download a [development snapshot](https://files.simon987.net/.gate/sist2/simon987_sist2/) *(Not
|
||||||
recommended!)*
|
recommended!)*
|
||||||
1. *(or)* `docker pull simon987/sist2:2.11.4-x64-linux`
|
1. *(or)* `docker pull simon987/sist2:2.11.6-x64-linux`
|
||||||
|
|
||||||
1. See [Usage guide](docs/USAGE.md)
|
1. See [Usage guide](docs/USAGE.md)
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ docker run --rm my-sist2-image cat /root/sist2 > sist2-x64-linux
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
vcpkg install curl[core,openssl]
|
vcpkg install curl[core,openssl]
|
||||||
vcpkg install lmdb cjson glib brotli libarchive[core,bzip2,libxml2,lz4,lzma,lzo] pthread tesseract libxml2 libmupdf gtest mongoose libuuid libmagic libraw jasper lcms gumbo
|
vcpkg install lmdb cjson glib brotli libarchive[core,bzip2,libxml2,lz4,lzma,lzo] pthread tesseract libxml2 libmupdf gtest mongoose libmagic libraw jasper lcms gumbo
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Build
|
1. Build
|
||||||
|
@ -85,7 +85,7 @@ Exec-script options
|
|||||||
### Scan options
|
### Scan options
|
||||||
|
|
||||||
* `-t, --threads`
|
* `-t, --threads`
|
||||||
Number of threads for file parsing. **Do not set a number higher than `$(nproc)` or `$(Get-WmiObject Win32_ComputerSystem).NumberOfLogicalProcessors` in Windows!**
|
Number of threads for file parsing. **Do not set a number higher than `$(nproc)` or `$(Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors` in Windows!**
|
||||||
* `-q, --quality`
|
* `-q, --quality`
|
||||||
Thumbnail quality, on a scale of 1.0 to 31.0, 1.0 being the best.
|
Thumbnail quality, on a scale of 1.0 to 31.0, 1.0 being the best.
|
||||||
* `--size`
|
* `--size`
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
const char *TESS_DATAPATHS[] = {
|
const char *TESS_DATAPATHS[] = {
|
||||||
"/usr/share/tessdata/",
|
"/usr/share/tessdata/",
|
||||||
"/usr/share/tesseract-ocr/tessdata/",
|
"/usr/share/tesseract-ocr/tessdata/",
|
||||||
|
"/usr/share/tesseract-ocr/4.00/tessdata/",
|
||||||
"./",
|
"./",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
@ -57,10 +57,11 @@ int handle_entry(const char *filepath, const struct stat *info, int typeflag, st
|
|||||||
pthread_mutex_lock(&ScanCtx.dbg_file_counts_mu);
|
pthread_mutex_lock(&ScanCtx.dbg_file_counts_mu);
|
||||||
ScanCtx.dbg_excluded_files_count += 1;
|
ScanCtx.dbg_excluded_files_count += 1;
|
||||||
pthread_mutex_unlock(&ScanCtx.dbg_file_counts_mu);
|
pthread_mutex_unlock(&ScanCtx.dbg_file_counts_mu);
|
||||||
return 0;
|
|
||||||
} else if (typeflag == FTW_D) {
|
} else if (typeflag == FTW_D) {
|
||||||
return FTW_SKIP_SUBTREE;
|
return FTW_SKIP_SUBTREE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return FTW_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeflag == FTW_F && S_ISREG(info->st_mode)) {
|
if (typeflag == FTW_F && S_ISREG(info->st_mode)) {
|
||||||
|
20
src/log.c
20
src/log.c
@ -55,10 +55,14 @@ void vsist_logf(const char *filepath, int level, char *format, va_list ap) {
|
|||||||
log_len += 1;
|
log_len += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ret = write(STDERR_FILENO, log_str, log_len);
|
if (PrintingProgressBar) {
|
||||||
if (ret == -1) {
|
PrintingProgressBar = FALSE;
|
||||||
LOG_FATALF("serialize.c", "Could not write index descriptor: %s", strerror(errno))
|
memmove(log_str + 1, log_str, log_len);
|
||||||
|
log_str[0] = '\n';
|
||||||
|
log_len += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
write(STDERR_FILENO, log_str, log_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sist_logf(const char *filepath, int level, char *format, ...) {
|
void sist_logf(const char *filepath, int level, char *format, ...) {
|
||||||
@ -104,8 +108,12 @@ void sist_log(const char *filepath, int level, char *str) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ret = write(STDERR_FILENO, log_str, log_len);
|
if (PrintingProgressBar) {
|
||||||
if (ret == -1) {
|
PrintingProgressBar = FALSE;
|
||||||
LOG_FATALF("serialize.c", "Could not write index descriptor: %s", strerror(errno));
|
memmove(log_str + 1, log_str, log_len);
|
||||||
|
log_str[0] = '\n';
|
||||||
|
log_len += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
write(STDERR_FILENO, log_str, log_len);
|
||||||
}
|
}
|
||||||
|
@ -433,7 +433,7 @@ void sist2_index(index_args_t *args) {
|
|||||||
cleanup = elastic_cleanup;
|
cleanup = elastic_cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
IndexCtx.pool = tpool_create(args->threads, cleanup, FALSE, TRUE);
|
IndexCtx.pool = tpool_create(args->threads, cleanup, FALSE, args->print == 0);
|
||||||
tpool_start(IndexCtx.pool);
|
tpool_start(IndexCtx.pool);
|
||||||
|
|
||||||
struct dirent *de;
|
struct dirent *de;
|
||||||
@ -518,8 +518,8 @@ void sist2_web(web_args_t *args) {
|
|||||||
|
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int main(int argc, const char *argv[]) {
|
||||||
// sigsegv_handler = signal(SIGSEGV, sig_handler);
|
sigsegv_handler = signal(SIGSEGV, sig_handler);
|
||||||
// sigabrt_handler = signal(SIGABRT, sig_handler);
|
sigabrt_handler = signal(SIGABRT, sig_handler);
|
||||||
|
|
||||||
setlocale(LC_ALL, "");
|
setlocale(LC_ALL, "");
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "git_hash.h"
|
#include "git_hash.h"
|
||||||
|
|
||||||
#define VERSION "2.11.4"
|
#define VERSION "2.11.6"
|
||||||
static const char *const Version = VERSION;
|
static const char *const Version = VERSION;
|
||||||
|
|
||||||
#ifndef SIST_PLATFORM
|
#ifndef SIST_PLATFORM
|
||||||
|
@ -191,7 +191,9 @@ void tpool_wait(tpool_t *pool) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (pool->print_progress) {
|
||||||
progress_bar_print(1.0, ScanCtx.stat_tn_size, ScanCtx.stat_index_size);
|
progress_bar_print(1.0, ScanCtx.stat_tn_size, ScanCtx.stat_index_size);
|
||||||
|
}
|
||||||
pthread_mutex_unlock(&(pool->work_mutex));
|
pthread_mutex_unlock(&(pool->work_mutex));
|
||||||
|
|
||||||
LOG_INFO("tpool.c", "Worker threads finished")
|
LOG_INFO("tpool.c", "Worker threads finished")
|
||||||
|
14
src/util.c
14
src/util.c
@ -84,6 +84,8 @@ char *expandpath(const char *path) {
|
|||||||
return expanded;
|
return expanded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int PrintingProgressBar = 0;
|
||||||
|
|
||||||
void progress_bar_print(double percentage, size_t tn_size, size_t index_size) {
|
void progress_bar_print(double percentage, size_t tn_size, size_t index_size) {
|
||||||
|
|
||||||
static int last_val = -1;
|
static int last_val = -1;
|
||||||
@ -114,13 +116,21 @@ void progress_bar_print(double percentage, size_t tn_size, size_t index_size) {
|
|||||||
index_unit = 'M';
|
index_unit = 'M';
|
||||||
}
|
}
|
||||||
|
|
||||||
printf(
|
if (tn_size == 0 && index_size == 0) {
|
||||||
|
fprintf(stderr,
|
||||||
|
"\r%3d%%[%.*s>%*s]",
|
||||||
|
val, lpad, PBSTR, rpad, ""
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
fprintf(stderr,
|
||||||
"\r%3d%%[%.*s>%*s] TN:%3d%c IDX:%3d%c",
|
"\r%3d%%[%.*s>%*s] TN:%3d%c IDX:%3d%c",
|
||||||
val, lpad, PBSTR, rpad, "",
|
val, lpad, PBSTR, rpad, "",
|
||||||
(int) tn_size, tn_unit,
|
(int) tn_size, tn_unit,
|
||||||
(int) index_size, index_unit
|
(int) index_size, index_unit
|
||||||
);
|
);
|
||||||
fflush(stdout);
|
}
|
||||||
|
|
||||||
|
PrintingProgressBar = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
GHashTable *incremental_get_table() {
|
GHashTable *incremental_get_table() {
|
||||||
|
@ -19,6 +19,8 @@ char *expandpath(const char *path);
|
|||||||
|
|
||||||
dyn_buffer_t url_escape(char *str);
|
dyn_buffer_t url_escape(char *str);
|
||||||
|
|
||||||
|
extern int PrintingProgressBar;
|
||||||
|
|
||||||
void progress_bar_print(double percentage, size_t tn_size, size_t index_size);
|
void progress_bar_print(double percentage, size_t tn_size, size_t index_size);
|
||||||
|
|
||||||
GHashTable *incremental_get_table();
|
GHashTable *incremental_get_table();
|
||||||
|
10
src/web/static_generated.c
vendored
10
src/web/static_generated.c
vendored
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user