mirror of
https://github.com/simon987/sist2.git
synced 2025-12-20 10:36:00 +00:00
Compare commits
1 Commits
2.11.5
...
a4ecce363c
| Author | SHA1 | Date | |
|---|---|---|---|
| a4ecce363c |
30
.drone.yml
30
.drone.yml
@@ -11,21 +11,6 @@ steps:
|
||||
image: simon987/sist2-build
|
||||
commands:
|
||||
- ./scripts/build.sh
|
||||
- name: docker
|
||||
image: plugins/docker
|
||||
settings:
|
||||
username:
|
||||
from_secret: DOCKER_USER
|
||||
password:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
repo: simon987/sist2
|
||||
context: ./
|
||||
dockerfile: ./Dockerfile
|
||||
auto_tag: true
|
||||
auto_tag_suffix: x64-linux
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
- name: scp files
|
||||
image: appleboy/drone-scp
|
||||
settings:
|
||||
@@ -42,6 +27,21 @@ steps:
|
||||
- ./VERSION
|
||||
- ./sist2-x64-linux
|
||||
- ./sist2-x64-linux-debug
|
||||
- name: docker
|
||||
image: plugins/docker
|
||||
settings:
|
||||
username:
|
||||
from_secret: DOCKER_USER
|
||||
password:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
repo: simon987/sist2
|
||||
context: ./
|
||||
dockerfile: ./Dockerfile
|
||||
auto_tag: true
|
||||
auto_tag_suffix: x64-linux
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,6 +1,3 @@
|
||||
[submodule "third-party/libscan"]
|
||||
path = third-party/libscan
|
||||
url = https://github.com/simon987/libscan
|
||||
[submodule "third-party/argparse"]
|
||||
path = third-party/argparse
|
||||
url = https://github.com/simon987/argparse
|
||||
|
||||
@@ -7,7 +7,7 @@ RUN cmake -DSIST_PLATFORM=arm64_linux -DSIST_DEBUG=off -DBUILD_TESTS=off -DCMAKE
|
||||
RUN make -j$(nproc)
|
||||
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/*
|
||||
|
||||
|
||||
2
sist2-vue/dist/css/index.css
vendored
2
sist2-vue/dist/css/index.css
vendored
File diff suppressed because one or more lines are too long
2
sist2-vue/dist/js/index.js
vendored
2
sist2-vue/dist/js/index.js
vendored
File diff suppressed because one or more lines are too long
@@ -133,6 +133,11 @@ export default Vue.extend({
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.theme-black .version-badge {
|
||||
color: #eee !important;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.version-badge {
|
||||
color: #222 !important;
|
||||
background: none;
|
||||
|
||||
20
src/log.c
20
src/log.c
@@ -55,14 +55,10 @@ void vsist_logf(const char *filepath, int level, char *format, va_list ap) {
|
||||
log_len += 1;
|
||||
}
|
||||
|
||||
if (PrintingProgressBar) {
|
||||
PrintingProgressBar = FALSE;
|
||||
memmove(log_str + 1, log_str, log_len);
|
||||
log_str[0] = '\n';
|
||||
log_len += 1;
|
||||
int ret = write(STDERR_FILENO, log_str, log_len);
|
||||
if (ret == -1) {
|
||||
LOG_FATALF("serialize.c", "Could not write index descriptor: %s", strerror(errno))
|
||||
}
|
||||
|
||||
write(STDERR_FILENO, log_str, log_len);
|
||||
}
|
||||
|
||||
void sist_logf(const char *filepath, int level, char *format, ...) {
|
||||
@@ -108,12 +104,8 @@ void sist_log(const char *filepath, int level, char *str) {
|
||||
);
|
||||
}
|
||||
|
||||
if (PrintingProgressBar) {
|
||||
PrintingProgressBar = FALSE;
|
||||
memmove(log_str + 1, log_str, log_len);
|
||||
log_str[0] = '\n';
|
||||
log_len += 1;
|
||||
int ret = write(STDERR_FILENO, log_str, log_len);
|
||||
if (ret == -1) {
|
||||
LOG_FATALF("serialize.c", "Could not write index descriptor: %s", strerror(errno));
|
||||
}
|
||||
|
||||
write(STDERR_FILENO, log_str, log_len);
|
||||
}
|
||||
|
||||
@@ -433,7 +433,7 @@ void sist2_index(index_args_t *args) {
|
||||
cleanup = elastic_cleanup;
|
||||
}
|
||||
|
||||
IndexCtx.pool = tpool_create(args->threads, cleanup, FALSE, args->print == 0);
|
||||
IndexCtx.pool = tpool_create(args->threads, cleanup, FALSE, TRUE);
|
||||
tpool_start(IndexCtx.pool);
|
||||
|
||||
struct dirent *de;
|
||||
@@ -518,8 +518,8 @@ void sist2_web(web_args_t *args) {
|
||||
|
||||
|
||||
int main(int argc, const char *argv[]) {
|
||||
sigsegv_handler = signal(SIGSEGV, sig_handler);
|
||||
sigabrt_handler = signal(SIGABRT, sig_handler);
|
||||
// sigsegv_handler = signal(SIGSEGV, sig_handler);
|
||||
// sigabrt_handler = signal(SIGABRT, sig_handler);
|
||||
|
||||
setlocale(LC_ALL, "");
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
#include <ctype.h>
|
||||
#include "git_hash.h"
|
||||
|
||||
#define VERSION "2.11.5"
|
||||
#define VERSION "2.11.4"
|
||||
static const char *const Version = VERSION;
|
||||
|
||||
#ifndef SIST_PLATFORM
|
||||
|
||||
@@ -191,9 +191,7 @@ 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));
|
||||
|
||||
LOG_INFO("tpool.c", "Worker threads finished")
|
||||
|
||||
24
src/util.c
24
src/util.c
@@ -84,8 +84,6 @@ char *expandpath(const char *path) {
|
||||
return expanded;
|
||||
}
|
||||
|
||||
int PrintingProgressBar = 0;
|
||||
|
||||
void progress_bar_print(double percentage, size_t tn_size, size_t index_size) {
|
||||
|
||||
static int last_val = -1;
|
||||
@@ -116,21 +114,13 @@ void progress_bar_print(double percentage, size_t tn_size, size_t index_size) {
|
||||
index_unit = 'M';
|
||||
}
|
||||
|
||||
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",
|
||||
val, lpad, PBSTR, rpad, "",
|
||||
(int) tn_size, tn_unit,
|
||||
(int) index_size, index_unit
|
||||
);
|
||||
}
|
||||
|
||||
PrintingProgressBar = TRUE;
|
||||
printf(
|
||||
"\r%3d%%[%.*s>%*s] TN:%3d%c IDX:%3d%c",
|
||||
val, lpad, PBSTR, rpad, "",
|
||||
(int) tn_size, tn_unit,
|
||||
(int) index_size, index_unit
|
||||
);
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
GHashTable *incremental_get_table() {
|
||||
|
||||
@@ -19,8 +19,6 @@ char *expandpath(const char *path);
|
||||
|
||||
dyn_buffer_t url_escape(char *str);
|
||||
|
||||
extern int PrintingProgressBar;
|
||||
|
||||
void progress_bar_print(double percentage, size_t tn_size, size_t index_size);
|
||||
|
||||
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
10
third-party/libscan/libscan/raw/raw.c
vendored
10
third-party/libscan/libscan/raw/raw.c
vendored
@@ -143,7 +143,7 @@ void parse_raw(scan_raw_ctx_t *ctx, vfile_t *f, document_t *doc) {
|
||||
|
||||
libraw_gps_info_t gps = libraw_lib->other.parsed_gps;
|
||||
double gps_longitude_dec =
|
||||
(gps.longtitude[0] + gps.longtitude[1] / 60 + gps.longtitude[2] / 3600) * DMS_REF(gps.longref);
|
||||
(gps.longitude[0] + gps.longitude[1] / 60 + gps.longitude[2] / 3600) * DMS_REF(gps.longref);
|
||||
snprintf(tmp, sizeof(tmp), "%.15f", gps_longitude_dec);
|
||||
if (gps_longitude_dec != 0.0) {
|
||||
APPEND_STR_META(doc, MetaExifGpsLongitudeDec, tmp)
|
||||
@@ -163,7 +163,13 @@ void parse_raw(scan_raw_ctx_t *ctx, vfile_t *f, document_t *doc) {
|
||||
return;
|
||||
}
|
||||
|
||||
libraw_unpack_thumb(libraw_lib);
|
||||
int unpack_ret = libraw_unpack_thumb(libraw_lib);
|
||||
if (unpack_ret != 0) {
|
||||
CTX_LOG_ERRORF(f->filepath, "libraw_unpack_thumb returned error code %d", unpack_ret)
|
||||
free(buf);
|
||||
libraw_close(libraw_lib);
|
||||
return;
|
||||
}
|
||||
|
||||
int errc = 0;
|
||||
libraw_processed_image_t *thumb = libraw_dcraw_make_mem_thumb(libraw_lib, &errc);
|
||||
|
||||
13
third-party/libscan/test/main.cpp
vendored
13
third-party/libscan/test/main.cpp
vendored
@@ -780,6 +780,19 @@ TEST(Arc, EncryptedZip) {
|
||||
}
|
||||
|
||||
/* RAW */
|
||||
TEST(RAW, Segfault1) {
|
||||
vfile_t f;
|
||||
document_t doc;
|
||||
load_doc_file("libscan-test-files/test_files/raw/segfault1.dng", &f, &doc);
|
||||
|
||||
parse_raw(&raw_ctx, &f, &doc);
|
||||
|
||||
ASSERT_EQ(get_meta(&doc, MetaWidth)->long_val, 3840);
|
||||
ASSERT_EQ(get_meta(&doc, MetaHeight)->long_val, 7680);
|
||||
|
||||
cleanup(&doc, &f);
|
||||
}
|
||||
|
||||
TEST(RAW, Panasonic) {
|
||||
vfile_t f;
|
||||
document_t doc;
|
||||
|
||||
Reference in New Issue
Block a user