docspell / dsc Goto Github PK
View Code? Open in Web Editor NEWDocspell command line interface
Home Page: https://docspell.org/docs/tools/cli
License: GNU General Public License v3.0
Docspell command line interface
Home Page: https://docspell.org/docs/tools/cli
License: GNU General Public License v3.0
Hi
Trying to do a full export from docspell using the command
D:\docspell_export>dsc-0.11.0.exe export --target D:\docspell_export
but get the following error after 5 items have sucessfully exported:
"Export - Error creating a file: Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch. (os error 123)"
The german part says "incorrect syntax wrong for filename, directoryname or volume".
I'm running docspell 0.40.0 on windows docker desktop. I really need a full export and cannot use "download all documents" because there are over 4000 of them.
Is there maybe a bug in the export when using umlauts / other non-english characters?
Thanks a lot!
This was reported here: eikek/docspell#1659
Hi,
Using export --all
option gave me the following error: Error creating a file: Filename too long (os error 36)
(taken from the rust backtrace).
Using amd64 v0.6.1 on Linux.
I am coming from Paperless-NGX, which maintains all documents on the filesystem, rather than the database. As a consequence, the developers made the actual storage location configurable for each document type, and named this concept Storage Paths.
We've been using storage paths to export views into the DMS as read-only Samba shares, such that people could actually browse the DMS content with Windows Explorer, and find e.f. invoices sorted by year under \Invoices\2023\some_file_title.pdf
. This made the migration to Paperless a lot easier since existing habits and tools didn't need to be changed right away, or at least not completely.
With Docspell, it occurs to me that almost the same can be achieved using dsc export
run by Cron at regular intervals. However, depending on the size of the documents in the system, this could be quite a cruel process on the disk/SSD and system in general.
If the filesystem backend is already used, and the system on which dsc
runs has access to the storage, then the data are already accessible on disk. Wouldn't it be conceivable for the API to then just return paths instead of file content, and dsc
to symlink the existing files?
Obviously, they must not be modified, and this would be within the realm of the administrator to ensure. Here Be Dragons…
New global options for proxy and trust store should be added to the config. (#104 (comment))
My scanner supports storing to a network storage. Its workflow goes like this:
XEROX-LOCK
in the target directory)With the current implementation of watch
, dsc will upload the file after the timeout of 6 sec
hits. However, when scanning multi-page documents where I have to flip the pages a couple of times, with the scanner waiting on my input - the scan process takes way longer than that. The timeout is configurable, however to be sure that it does not try to upload during some really big document scan, I would have to set it to something like 15 minutes
.
Would it make sense to implement support for lock-files? I don't know how many scanners behave that way..
Another idea: Would it maybe make sense to check for the file-size, and only upload after the file-size has not changed for timeout
seconds?
Hey!
Continuing our adventure from a few months back in #111, I noticed that with v0.9.0 I sometimes get an error when running an export command:
dsc export --all --target .
The error I get with RUST_BACKTRACE=full
:
thread 'main' panicked at 'overflow when subtracting durations', library/core/src/time.rs:988:31
stack backtrace:
0: 0x93c4fc - <unknown>
1: 0x9803cc - <unknown>
2: 0x933ea3 - <unknown>
3: 0x93ee22 - <unknown>
4: 0x93ea05 - <unknown>
5: 0x93f473 - <unknown>
6: 0x93f190 - <unknown>
7: 0x93c9a4 - <unknown>
8: 0x93eec9 - <unknown>
9: 0x414ce1 - <unknown>
10: 0x97eb81 - <unknown>
11: 0x97eb2b - <unknown>
12: 0x414bd6 - <unknown>
13: 0x982cb7 - <unknown>
14: 0x42e590 - <unknown>
15: 0x457b52 - <unknown>
16: 0x51fc64 - <unknown>
17: 0x4961bd - <unknown>
18: 0x417fa0 - <unknown>
19: 0x415d73 - <unknown>
20: 0x415e69 - <unknown>
21: 0x93bc40 - <unknown>
22: 0x418222 - <unknown>
Since it has to do with the time library, I'm guessing it can explain why it only happens occasionally and it cannot be reproduced reliably.
Hi everyone
I'm trying to use dsc export feature to export all data out of my docspell instance on my Synology NAS. I tried to look everywhere I could think of, but I didn't manage to even connect dsc to my NAS. I know there should be a config file somewhere, or it should be created somehow, but even with dsc --help I have no clue how to connect with my NAS using dsc on Windows.
Do you have any starting point on how to proceed?
I've left passwords and secrets in the compose, they are randomly generated and will be changed once this is sorted out.
consumedir:
image: docspell/dsc:latest
container_name: docspell-consumedir
command:
- dsc
- "-d"
- "http://docspell-restserver:7880"
- "watch"
- "--delete"
- "-ir"
- "--not-matches"
- "**/.*"
- "--header"
- "Docspell-Integration:Consensus-Debtless-Passage5"
- "/opt/docs"
restart: unless-stopped
volumes:
- /docker_storage/docspell/docs:/opt/docs
depends_on:
- restserver
The volume in the configuration above works. If I switch that volume to
- /mnt/docspell:/opt/docs
which is an NFS share from a remote computer it no longer works. Both have a sub directory with the collective name. I see no logs other than
Watching directory (Recursive): /opt/docs
Press Ctrl-C to quit.
Both Directories and files have the same permissions according to the container. Any Ideas?
Examples:
I have just started running dsc watch
and am worrying about a failure mode: When dsc watch
isn't running and, e.g., an ADF scanner uploads new documents to an SFTP drop directory, starting the dsc watch
job does not cause it to submit the files that were previously uploaded.
I guess I can construct a systemd unit that works like this, but probably still has a race condition (e.g. a file getting uploaded at exactly the right/wrong point in time). I think I would love to see this solved in the watch
command itself.
Context: eikek/docspell#1262 (point 3)
An option like --no-subdir-on-single-file
(or maybe --flat
or --direct-link-on-single-file
?) could link entities, that have only one PDF attached (>90% in my use case) directly.
When I tray to upload documents with the doc tool, I get the following error:
Cmd: Upload: An http error occurred: Session error: Error reading session file at /home/doc-user/.config/dsc/dsc-token.json: No such file or directory (os error 2)!
This is, what the .config/dsc/config.toml looks like:
docspell_url = "http://localhost:7880"
default_format = "Tabular"
pdf_viewer = ["zathura", "{}"]
Am I missing something? I also tried it with the following entry in the toml:
default_account = "COLLECTION\username"
But I still get the same error.
I've started to use the consume-dir mode of dsc
recently and I dumped a whole load of old documents in. This worked fairly well for the most part (though I had to restart dsc
a few times throughout the process because it would time out when uploading a big file) but as I was cataloging the documents today I noticed a few of them were titled integration: No files supplied
. When I looked at them, the only attachments were labeled as No name
. This seemed very odd, and I had to spend some time going back through the original files I had backed up to figure out what their names used to be.
I started to fix the names and such, by manually reuploading the documents and deleting the broken ones, but a pattern emerged: the files that were broken were the ones that contained a pair of double quotes in their names, such as a file titled Essay on "The Jungle".pdf
.
This also seemed to cause the full-text search of Docspell to silently fail with a 422 HTTP code when one of these broken files appears in the results. Since the files are totally missing an attachmentName
field, Docspell fails to decode the response:
Caused by: DecodingFailure(Missing required field, List(DownField(attachmentName), DownArray, DownField(docs), DownField(response)))
I only stumbled on this since I tried to search for the content of the documents to see if I could find one with a similar name, but that did not work. Overall this isn't a big issue, but I assume it's a trivial fix as well.
Thanks for your time and making this nice tool!
Hi,
would it be possible to add a command line option to exclude certain subfolders or patterns from beeing considered for an upload? Backgroud for this request is, that sometimes sum index programs create certain files or folders in my consume directoy which confuse the watch deamon.
Best regards,
Andreas
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are awaiting their schedule. Click on a checkbox to get an update now.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
Cargo.toml
chrono 0.4.38
clap 4.5.4
clap_complete 4.5.2
console 0.15.8
csv 1.3
dialoguer 0.11
dirs 5.0.1
env_logger 0.11.3
glob 0.3.1
hex 0.4.3
log 0.4.21
notify 4.0.17
openssl 0.10.64
percent-encoding 2.3.1
prettytable-rs 0.10
reqwest 0.12.4
rsotp 0.1.0
serde 1.0.200
serde-lexpr 0.1.3
serde_json 1.0.116
sha2 0.10.8
snafu 0.8.2
toml 0.8.12
webbrowser 0.8.15
zip 0.6.6
pathdiff 0.2.1
sanitize-filename 0.5
assert_cmd 2.0.14
predicates 3.1.0
vergen 7.5.1
file-locker 1.1.2
file-locker 1.1.2
ci/docker-compose.yml
ci/docspell-server/Dockerfile
docker/dsc.dockerfile
.github/workflows/cicd.yml
actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
actions-rs/toolchain v1
actions-rs/cargo v1
actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
actions-rs/toolchain v1
actions-rs/cargo v1
actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
actions-rs/toolchain v1
actions-rs/cargo v1
.github/workflows/int_test.yml
actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
actions-rs/toolchain v1
actions-rs/clippy-check v1
.github/workflows/publish.yml
actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
actions-rs/toolchain v1
actions-rs/cargo v1
softprops/action-gh-release v1
ncipollo/release-action v1
actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
actions-rs/toolchain v1
actions-rs/cargo v1
softprops/action-gh-release v1
ncipollo/release-action v1
actions/checkout v4@3df4ab11eba7bda6032a0b82a6bb43b11571feac
actions-rs/toolchain v1
actions-rs/cargo v1
softprops/action-gh-release v1
ncipollo/release-action v1
actions/checkout v4.1.7@692973e3d937129bcbf40652eb9f2f61becf3332
docker/setup-qemu-action v3
docker/setup-buildx-action v3
docker/login-action v3
When running some command that requires to be logged in and the session file doesn't exist, the error message only says "file not found" but gives no clue to login first.
Hello,
I get a 404 error when trying to set up a watch folder. What could be the issue?
Got: /opt/docs/StarFoundry/Artisan_2012_review-by-tubby.pdf
Cmd: Watch: Uploading failed: An http error occurred: An error was received from http://docspell-restserver:7880/api/v1/open/integration/checkfile/StarFoundry/c405ded5de9e7c9830ab4fe1dc3ef7dea62a3b04df4ae0d2ae5915f745a09efe: HTTP status client error (404 Not Found) for url (http://docspell-restserver:7880/api/v1/open/integration/checkfile/StarFoundry/c405ded5de9e7c9830ab4fe1dc3ef7dea62a3b04df4ae0d2ae5915f745a09efe)
Watching directory (Recursive): /opt/docs
Compose file:
version: '3.8'
services:
restserver:
image: docspell/restserver:latest
container_name: docspell-restserver
restart: unless-stopped
ports:
- "7880:7880"
environment:
- TZ=Europe/Berlin
- DOCSPELL_SERVER_BASE__URL=http://192.168.178.20:7880
- DOCSPELL_SERVER_BIND_PORT=7880
- DOCSPELL_SERVER_INTERNAL__URL=http://docspell-restserver:7880
- DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET="4xY26.7zakRFps#"
- DOCSPELL_SERVER_AUTH_SERVER__SECRET="aY6xf4ab@%c9Zg!"
- DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD="docspelldbpass"
- DOCSPELL_SERVER_BACKEND_JDBC_URL=jdbc:postgresql://db:5432/docspelldb
- DOCSPELL_SERVER_BACKEND_JDBC_USER=dbuser
- DOCSPELL_SERVER_BIND_ADDRESS=0.0.0.0
- DOCSPELL_SERVER_FULL__TEXT__SEARCH_ENABLED=true
- DOCSPELL_SERVER_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell
- DOCSPELL_SERVER_INTEGRATION__ENDPOINT_ENABLED=true
- DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_ENABLED=true
- DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE=endpoint1ntegr4tion
depends_on:
- solr
networks:
- internet
- docker-internal
consumedir:
image: docspell/dsc:latest
container_name: docspell-consumedir
command:
- dsc
- "-d"
- "http://docspell-restserver:7880"
- "watch"
- "-ir"
- "--not-matches"
- "**/.*"
- "--header"
- "Docspell-Integration:endpoint1ntegr4tion"
- "/opt/docs"
restart: unless-stopped
volumes:
- /volume1/docker/docspell/docs:/opt/docs:ro
depends_on:
- restserver
networks:
- docker-internal
networks:
docker-internal:
driver: bridge
internal: true
internet:
external: true
name: internet
This was reported here: eikek/docspell#1625
Context: eikek/docspell#1262 (point 1)
Allow the export
command to accept a file pattern to create another symlink tree. For example
{correspondent}/{document_type}/{created_year}-{created_month}-{created_day} {title}
I'd like to set up several folders, and assign new files in diffrent dolders. When I want to search them, I'll filter them according to different folders. However, it didn't list all folders I have, but only show me 1 folder. I think that this is a bug that we can improve in the future version.
I'm going to move my saved documents into Docspell. Recently I found that it only allows me to set the file date from 2010. But what about the older files?
When trying to export files immediately after logging in, the following error occurs:
thread 'main' panicked at 'overflow when subtracting durations', library/core/src/time.rs:936:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
This can be reproduced by running:
dsc login --password "..." && dsc export --target target
As a workaround i added a small sleep:
dsc login --password "..." && sleep 0.5 && dsc export --target target
Hey,
I'm not sure if this is really an issue or I'm not seeing something obvious. My docspell instance has OAuth as the only way to login, hence the users are not "local" users and don't have a password. So I have the same problem with both the API and DSC: I can't login, since I can't give a password. And also not a session token, because I would need to login to get one.
I've also read through the source code a bit, but didn't get far.
Any help would be appreciated :)
Sebastian Elisa
Currently those can be only arguments to the commands. They should also be given as files to make them less readable.
With the upload
command, this is a bit tricky. For single files, the collective cannot be guessed and must be given with the arguments. When traversing directories, the same strategy as with the watch
command can be used.
I succeeded to upload various docs. Looks like shorter ones (like onepagers) are processed perfectly.
Unfortunately longer documents (3, 4, ... pages) do crush the system. Seriously: my host system halts. Cannot find issue by syslog.
During the docSpell processing, I could capture the logs in docSpell as of below. You can see, the system tried it several times.
Is there a way to trace more to see why the host crashes?
BTW: as obviously the doc hangs in the queue (which is correct to capture waiting or not processed docs), the system goes down even after reboot. I put docSpell down for the moment :-(
2021-11-16T23:06:23: ============ Start processing Scanner_20211116_230302_002655.pdf ============
2021-11-16T23:06:23: Checking for duplicate files
2021-11-16T23:06:23: Creating new item with 1 attachment(s)
2021-11-16T23:06:23: Creating item finished in 35 ms
2021-11-16T23:06:23: Not an archive: application/pdf
2021-11-16T23:06:23: Converting file Some(Scanner_20211116_230302_002655.pdf) (application/pdf) into a PDF
2021-11-16T23:06:23: Storing input to file /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/infile for running ocrmypdf
2021-11-16T23:06:23: Trying to read the PDF using 0 passwords
2021-11-16T23:06:23: Running external command: ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/infile /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/out.pdf
2021-11-16T23:11:23: Command `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/infile /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/out.pdf` did not finish in 300000 ms!
2021-11-16T23:11:23: Closing process: `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/infile /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/out.pdf`
2021-11-16T23:11:23: PDF conversion failed: Command `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/infile /tmp/docspell-convert/docspell-ocrmypdf4420193545322067078/out.pdf` timed out (300000 ms). Go without PDF file
2021-11-16T23:11:23: Starting text extraction for 1 files
2021-11-16T23:11:23: Extracting text for attachment Scanner_20211116_230302_002655.pdf
2021-11-16T23:11:23: Trying to strip text from pdf using pdfbox.
2021-11-16T23:11:23: Stripped text from PDF is small (0). Trying with OCR.
2021-11-16T23:11:24: Running external command: gs -dLastPage=10 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffscaled8 -sOutputFile=%d.tif -
2021-11-16T23:11:57: Command `gs -dLastPage=10 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffscaled8 -sOutputFile=%d.tif -` finished: 0
2021-11-16T23:11:57: Running external command: unpaper /tmp/docspell-extraction/extractpdf16569395390517346831/3.tif /tmp/docspell-extraction/extractpdf16569395390517346831/u-3.tif
2021-11-16T23:21:52: ============ Start processing Scanner_20211116_230302_002655.pdf ============
2021-11-16T23:21:53: Checking for duplicate files
2021-11-16T23:21:54: Found 1 existing item with these files.
2021-11-16T23:21:54: Found 1 attachments. Use only those from task args: Set(Ident(T7ukrP6RDnSg2bQRUrLmagwKSyvqcnoYzpMpcKhpe8p))
2021-11-16T23:21:56: Not an archive: application/pdf
2021-11-16T23:21:59: Converting file Some(Scanner_20211116_230302_002655.pdf) (application/pdf) into a PDF
2021-11-16T23:21:59: Storing input to file /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/infile for running ocrmypdf
2021-11-16T23:21:59: Trying to read the PDF using 0 passwords
2021-11-16T23:22:02: Running external command: ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/infile /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/out.pdf
2021-11-16T23:27:02: Command `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/infile /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/out.pdf` did not finish in 300000 ms!
2021-11-16T23:27:02: Closing process: `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/infile /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/out.pdf`
2021-11-16T23:27:02: PDF conversion failed: Command `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/infile /tmp/docspell-convert/docspell-ocrmypdf678075622502613186/out.pdf` timed out (300000 ms). Go without PDF file
2021-11-16T23:27:02: Starting text extraction for 1 files
2021-11-16T23:27:02: Extracting text for attachment Scanner_20211116_230302_002655.pdf
2021-11-16T23:27:03: Trying to strip text from pdf using pdfbox.
2021-11-16T23:27:04: Stripped text from PDF is small (0). Trying with OCR.
2021-11-16T23:27:04: Running external command: gs -dLastPage=10 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffscaled8 -sOutputFile=%d.tif -
2021-11-16T23:27:32: Command `gs -dLastPage=10 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffscaled8 -sOutputFile=%d.tif -` finished: 0
2021-11-16T23:27:32: Running external command: unpaper /tmp/docspell-extraction/extractpdf10396688062864706290/3.tif /tmp/docspell-extraction/extractpdf10396688062864706290/u-3.tif
2021-11-16T23:41:32: ============ Start processing Scanner_20211116_230302_002655.pdf ============
2021-11-16T23:41:32: Checking for duplicate files
2021-11-16T23:41:34: Found 1 existing item with these files.
2021-11-16T23:41:34: Found 1 attachments. Use only those from task args: Set(Ident(T7ukrP6RDnSg2bQRUrLmagwKSyvqcnoYzpMpcKhpe8p))
2021-11-16T23:41:36: Not an archive: application/pdf
2021-11-16T23:41:39: Converting file Some(Scanner_20211116_230302_002655.pdf) (application/pdf) into a PDF
2021-11-16T23:41:40: Storing input to file /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/infile for running ocrmypdf
2021-11-16T23:41:40: Trying to read the PDF using 0 passwords
2021-11-16T23:41:43: Running external command: ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/infile /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/out.pdf
2021-11-16T23:46:44: Command `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/infile /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/out.pdf` did not finish in 300000 ms!
2021-11-16T23:46:44: Closing process: `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/infile /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/out.pdf`
2021-11-16T23:46:44: PDF conversion failed: Command `ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/infile /tmp/docspell-convert/docspell-ocrmypdf15883894384752171870/out.pdf` timed out (300000 ms). Go without PDF file
2021-11-16T23:46:44: Starting text extraction for 1 files
2021-11-16T23:46:44: Extracting text for attachment Scanner_20211116_230302_002655.pdf
2021-11-16T23:46:44: Trying to strip text from pdf using pdfbox.
2021-11-16T23:46:45: Stripped text from PDF is small (0). Trying with OCR.
2021-11-16T23:46:45: Running external command: gs -dLastPage=10 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffscaled8 -sOutputFile=%d.tif -
2021-11-16T23:47:13: Command `gs -dLastPage=10 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffscaled8 -sOutputFile=%d.tif -` finished: 0
2021-11-16T23:47:13: Running external command: unpaper /tmp/docspell-extraction/extractpdf7190717107757986522/3.tif /tmp/docspell-extraction/extractpdf7190717107757986522/u-3.tif
2021-11-17T0:17:01: ============ Start processing Scanner_20211116_230302_002655.pdf ============
2021-11-17T0:17:01: Checking for duplicate files
2021-11-17T0:17:03: Found 1 existing item with these files.
2021-11-17T0:17:03: Found 1 attachments. Use only those from task args: Set(Ident(T7ukrP6RDnSg2bQRUrLmagwKSyvqcnoYzpMpcKhpe8p))
2021-11-17T0:17:04: Not an archive: application/pdf
2021-11-17T0:17:08: Converting file Some(Scanner_20211116_230302_002655.pdf) (application/pdf) into a PDF
2021-11-17T0:17:08: Storing input to file /tmp/docspell-convert/docspell-ocrmypdf14291576652977881737/infile for running ocrmypdf
2021-11-17T0:17:08: Trying to read the PDF using 0 passwords
2021-11-17T0:17:11: Running external command: ocrmypdf -l deu --skip-text --deskew -j 1 /tmp/docspell-convert/docspell-ocrmypdf14291576652977881737/infile /tmp/docspell-convert/docspell-ocrmypdf14291576652977881737/out.pdf
I'm trying to add dsc as a nix flake to my own system definition's flake, by adding its overlay to the system's nixos overlays; when I do that and put the package onto environment.systemPackages
, I get this error:
error: attribute 'description' missing
at /nix/store/wazf8xj3bp131skjhl3lkk1w8sbmr7aa-source/flake.nix:59:27:
58| inherit version;
59| description = self.description;
| ^
60| pname = name;
(use '--show-trace' to show detailed location information)
That's indeed a line that occurs in flake.nix here. I'm not sure why it fails like this; on a nix repl
in the flake, using and inspecting the package works.
Trying to build dsc with the following commands:
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
cargo build --frozen --release --all-features
strip "target/release/$pkgname"
results in the following error:
Compiling dsc v0.6.1 (/tmp/makepkg/dsc/src/dsc-0.6.1)
error: linking with `cc` failed: exit status: 1
|
= note: "cc" "-m64" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.0.rcgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.1.r
cgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.10.rcgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.2.rcgu.o" "/tmp/m
akepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.3.rcgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.4.rcgu.o" "/tmp/makepkg/dsc/src/
dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.5.rcgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.6.rcgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/targe
t/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.7.rcgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.8.rcgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build
/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.build_script_build.a916b1cc-cgu.9.rcgu.o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8.99c5ts04rhwrzvd.rcgu.o" "-Wl,--as-needed" "-L" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps" "-L" "/tm
p/makepkg/dsc/src/dsc-0.6.1/target/release/build/libgit2-sys-f61f10a664ac528b/out/build" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libvergen-8dea0534e8e5a85f.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libthiserror-4a7e2b3101
07da90.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libsysinfo-5d59f2667786a53e.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libonce_cell-f24eca14babf177a.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libdoc_comment-5008ff57d64df0c5.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/rel
ease/deps/librustc_version-425aa3232e2ac57d.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libsemver-7694be6b27c09a57.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/liburl-79e58f787dc2de35.rlib" "/tmp/makepkg/dsc/s
rc/dsc-0.6.1/target/release/deps/libidna-565e976dd0f653ac.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libunicode_normalization-7c26fc028285a5b0.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libtinyvec-36b1820a6368b98b.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libtinyvec_macros
-0ef5c1c8717b2bb0.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libunicode_bidi-6d02e030010c1888.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libform_urlencoded-51b79dc052aa4cd9.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libpercent_encoding-6307f89f633ac15d.rlib" "/tmp/makepkg/d
sc/src/dsc-0.6.1/target/release/deps/libmatches-76779e83766615c0.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/liblog-442767f83bee7e74.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libcfg_if-4ff3db0efc25f7c0.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/liblibgit2_sys-fa0e881bb32cd9
01.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/liblibz_sys-fb0f04b99662b942.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libbitflags-3198ec478493ceed.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libchrono-5bd59fe0137dc602.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps
/libnum_integer-3a562fb847fde8d5.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libnum_traits-80fa81eb67401716.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libtime-6975a1da8bd433c0.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/liblibc-886814ee9fd38748.rlib" "/tmp/makepkg/dsc/src/dsc
-0.6.1/target/release/deps/libenum_iterator-c71af5c94a3fbf7e.rlib" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libanyhow-5d0a1ffda659c8d2.rlib" "-Wl,--start-group" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-0103c94b60eee7ef.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-cab63b3
26bc16c1f.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-4208e76188ba61d8.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-2e75732e0ab8b4ee.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-baac0af25a7a1364.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-50
47c72c5e8f5321.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-7a4f9a8f24e7f041.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-5eb53d26e29b5da5.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-7515156b823dcf55.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libru
stc_demangle-217cd9b21838f370.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-e1af85e688c038d2.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-40221ba3a1ba607c.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-60a2208e0f0c7767.rlib" "/usr/lib/rustlib/x86
_64-unknown-linux-gnu/lib/libcfg_if-88b1d284f2ee82a9.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-bd07da843a68b31b.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-cd99d35a54567058.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-16a8746e020550d6.rlib" "/usr
/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-a2ed33227ac14a20.rlib" "-Wl,--end-group" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-2b2f85bda2ad178a.rlib" "-Wl,-Bdynamic" "-lz" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/usr/lib64/
rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/makepkg/dsc/src/dsc-0.6.1/target/release/build/dsc-c48f73984fa4f8d8/build_script_build-c48f73984fa4f8d8" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
= note: /usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libvergen-8dea0534e8e5a85f.rlib(vergen-8dea0534e8e5a85f.vergen.52f8761c-cgu.6.rcgu.o): in function `git2::repo::Repository::open':
vergen.52f8761c-cgu.6:(.text._ZN4git24repo10Repository4open17had1a32fa89fa862dE+0x1a6): undefined reference to `git_repository_open'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libvergen-8dea0534e8e5a85f.rlib(vergen-8dea0534e8e5a85f.vergen.52f8761c-cgu.6.rcgu.o): in function `git2::repo::Repository::discover':
vergen.52f8761c-cgu.6:(.text._ZN4git24repo10Repository8discover17h478ae4d474d225dbE+0x244): undefined reference to `git_repository_discover'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libvergen-8dea0534e8e5a85f.rlib(vergen-8dea0534e8e5a85f.vergen.52f8761c-cgu.6.rcgu.o): in function `git2::repo::Repository::discover':
vergen.52f8761c-cgu.6:(.text._ZN4git24repo10Repository8discover17h7ecbd7d815bedf45E+0x251): undefined reference to `git_repository_discover'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.0.rcgu.o): in function `git2::ObjectType::str':
git2.063d0b48-cgu.0:(.text._ZN4git210ObjectType3str17h4fb75bd620e61377E+0x14): undefined reference to `git_object_type2string'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.1.rcgu.o): in function `git2::repo::Repository::revparse_single':
git2.063d0b48-cgu.1:(.text._ZN4git24repo10Repository15revparse_single17hf878f56353ca4b79E+0x1ac): undefined reference to `git_revparse_single'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.1.rcgu.o): in function `git2::repo::Repository::path':
git2.063d0b48-cgu.1:(.text._ZN4git24repo10Repository4path17h6d8ebce5eea6675aE+0xe): undefined reference to `git_repository_path'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.1.rcgu.o): in function `git2::repo::Repository::head_detached':
git2.063d0b48-cgu.1:(.text._ZN4git24repo10Repository13head_detached17h498b250cbed80f72E+0x12): undefined reference to `git_repository_head_detached'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.1.rcgu.o): in function `git2::repo::Repository::branches':
git2.063d0b48-cgu.1:(.text._ZN4git24repo10Repository8branches17he088465cdc81cbbeE+0x7e): undefined reference to `git_branch_iterator_new'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.1.rcgu.o): in function `git2::repo::Repository::find_reference':
git2.063d0b48-cgu.1:(.text._ZN4git24repo10Repository14find_reference17h587c8652aa59cd7eE+0x1d7): undefined reference to `git_reference_lookup'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.1.rcgu.o): in function `git2::repo::Repository::describe':
git2.063d0b48-cgu.1:(.text._ZN4git24repo10Repository8describe17h01a1d131c48eef5bE+0x8b): undefined reference to `git_describe_workdir'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.1.rcgu.o): in function `<git2::repo::Repository as core::ops::drop::Drop>::drop':
git2.063d0b48-cgu.1:(.text._ZN64_$LT$git2..repo..Repository$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9a987da03971bee8E+0x6): undefined reference to `git_repository_free'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.13.rcgu.o): in function `git2::error::Error::last_error':
git2.063d0b48-cgu.13:(.text._ZN4git25error5Error10last_error17h2d195acc6e05905dE+0x1d): undefined reference to `git_error_last'
/usr/bin/ld: git2.063d0b48-cgu.13:(.text._ZN4git25error5Error10last_error17h2d195acc6e05905dE+0x9e): undefined reference to `git_error_clear'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.4.rcgu.o): in function `git2::branch::Branch::is_head':
git2.063d0b48-cgu.4:(.text._ZN4git26branch6Branch7is_head17h42375737236cbb86E+0x26): undefined reference to `git_branch_is_head'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.4.rcgu.o): in function `git2::branch::Branch::name_bytes':
git2.063d0b48-cgu.4:(.text._ZN4git26branch6Branch10name_bytes17h4ff9ee9912543fbaE+0x8b): undefined reference to `git_branch_name'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.4.rcgu.o): in function `<git2::branch::Branches as core::iter::traits::iterator::Iterator>::next':
git2.063d0b48-cgu.4:(.text._ZN81_$LT$git2..branch..Branches$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hfd9b71d298804292E+0x7c): undefined reference to `git_branch_next'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.4.rcgu.o): in function `<git2::branch::Branches as core::ops::drop::Drop>::drop':
git2.063d0b48-cgu.4:(.text._ZN64_$LT$git2..branch..Branches$u20$as$u20$core..ops..drop..Drop$GT$4drop17h388ebea521a917aeE+0x6): undefined reference to `git_branch_iterator_free'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.4.rcgu.o): in function `<git2::buf::Buf as core::ops::drop::Drop>::drop':
git2.063d0b48-cgu.4:(.text._ZN56_$LT$git2..buf..Buf$u20$as$u20$core..ops..drop..Drop$GT$4drop17h6e619cb79d6917d4E+0x3): undefined reference to `git_buf_dispose'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.6.rcgu.o): in function `<git2::oid::Oid as core::fmt::Display>::fmt':
git2.063d0b48-cgu.6:(.text._ZN53_$LT$git2..oid..Oid$u20$as$u20$core..fmt..Display$GT$3fmt17hd7ffcfbc0c2c9166E+0x48): undefined reference to `git_oid_tostr'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.7.rcgu.o): in function `git2::describe::Describe::format':
git2.063d0b48-cgu.7:(.text._ZN4git28describe8Describe6format17had6f73910451da79E+0x10c): undefined reference to `git_describe_format'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.7.rcgu.o): in function `<git2::describe::Describe as core::ops::drop::Drop>::drop':
git2.063d0b48-cgu.7:(.text._ZN66_$LT$git2..describe..Describe$u20$as$u20$core..ops..drop..Drop$GT$4drop17h53da411a67ad3273E+0x6): undefined reference to `git_describe_result_free'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.7.rcgu.o): in function `git2::object::Object::id':
git2.063d0b48-cgu.7:(.text._ZN4git26object6Object2id17h450d944811db81e3E+0x12): undefined reference to `git_object_id'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.7.rcgu.o): in function `git2::object::Object::kind':
git2.063d0b48-cgu.7:(.text._ZN4git26object6Object4kind17h9689b3c33f506b1dE+0x6): undefined reference to `git_object_type'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.7.rcgu.o): in function `git2::object::Object::short_id':
git2.063d0b48-cgu.7:(.text._ZN4git26object6Object8short_id17h5e032183e92fc804E+0xc8): undefined reference to `git_object_short_id'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.7.rcgu.o): in function `<git2::object::Object as git2::object::CastOrPanic>::cast_or_panic':
git2.063d0b48-cgu.7:(.text._ZN66_$LT$git2..object..Object$u20$as$u20$git2..object..CastOrPanic$GT$13cast_or_panic17h7117987f8d0ce68bE+0x26e): undefined reference to `git_object_type'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.7.rcgu.o): in function `<git2::object::Object as core::ops::drop::Drop>::drop':
git2.063d0b48-cgu.7:(.text._ZN62_$LT$git2..object..Object$u20$as$u20$core..ops..drop..Drop$GT$4drop17he5160294efc2818eE+0x6): undefined reference to `git_object_free'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.8.rcgu.o): in function `git2::commit::Commit::id':
git2.063d0b48-cgu.8:(.text._ZN4git26commit6Commit2id17h2c6c3e0982733247E+0x12): undefined reference to `git_commit_id'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.8.rcgu.o): in function `git2::commit::Commit::time':
git2.063d0b48-cgu.8:(.text._ZN4git26commit6Commit4time17hf5d5fc128522b369E+0xe): undefined reference to `git_commit_time'
/usr/bin/ld: git2.063d0b48-cgu.8:(.text._ZN4git26commit6Commit4time17hf5d5fc128522b369E+0x21): undefined reference to `git_commit_time_offset'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.8.rcgu.o): in function `<git2::commit::Commit as core::ops::drop::Drop>::drop':
git2.063d0b48-cgu.8:(.text._ZN62_$LT$git2..commit..Commit$u20$as$u20$core..ops..drop..Drop$GT$4drop17h51def8b7a6bfe1adE+0x6): undefined reference to `git_commit_free'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.8.rcgu.o): in function `git2::reference::Reference::name_bytes':
git2.063d0b48-cgu.8:(.text._ZN4git29reference9Reference10name_bytes17h35937db9bced1433E+0xe): undefined reference to `git_reference_name'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.8.rcgu.o): in function `git2::reference::Reference::resolve':
git2.063d0b48-cgu.8:(.text._ZN4git29reference9Reference7resolve17h090e5e28d85d734dE+0x62): undefined reference to `git_reference_resolve'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.8.rcgu.o): in function `git2::reference::Reference::peel':
git2.063d0b48-cgu.8:(.text._ZN4git29reference9Reference4peel17h00e3a69ef48015ebE+0x6e): undefined reference to `git_reference_peel'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/libgit2-028c9ab519adab25.rlib(git2-028c9ab519adab25.git2.063d0b48-cgu.8.rcgu.o): in function `<git2::reference::Reference as core::ops::drop::Drop>::drop':
git2.063d0b48-cgu.8:(.text._ZN68_$LT$git2..reference..Reference$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9eb321c14d57a89eE+0x6): undefined reference to `git_reference_free'
/usr/bin/ld: /tmp/makepkg/dsc/src/dsc-0.6.1/target/release/deps/liblibgit2_sys-fa0e881bb32cd901.rlib(libgit2_sys-fa0e881bb32cd901.libgit2_sys.394df111-cgu.0.rcgu.o): in function `libgit2_sys::init::{{closure}}':
libgit2_sys.394df111-cgu.0:(.text._ZN11libgit2_sys4init28_$u7b$$u7b$closure$u7d$$u7d$17hc2c77712816fe83eE+0x14): undefined reference to `git_libgit2_init'
/usr/bin/ld: libgit2_sys.394df111-cgu.0:(.text._ZN11libgit2_sys4init28_$u7b$$u7b$closure$u7d$$u7d$17hc2c77712816fe83eE+0x25): undefined reference to `git_error_last'
collect2: error: ld returned 1 exit status
= help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
= note: use the `-l` flag to specify native libraries to link
= note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
The docspell flake contains the development configuration that brings up a VM with docspell and joex. It would be useful for #275 to reuse this component in this project's flake
See #273 for background
Integrating dsc in my nix flake (which forces users to pin all revisions of all software), I get an error:
error: in pure evaluation mode, 'fetchTarball' requires a 'sha256' argument
which I'm tracing back to https://github.com/docspell/dsc/blob/master/nix/rust-platform.nix#L3-L4, where fetchTarball is invoked in a way that prevents hermetic encapsulation. I think it's fine to provide this as a default for non-pinned builds, but it would be very nice if we were able to override the rustPlatform argument to the package.
I am newbie to docspell and still exploring. looks awesome so far!
I installed by docker-compose
I downloaded "dsc" to the host-system and did a dsc watch 'my scaninput'
, but obviously this is not started automatically and not demonized.
a) how is it meant to get this run with start of the server?
b) also found that I would have to perform a login regularily as I get an error " Error refreshing session." after a while. how to retain the login?
c) last: could ther files be deleted automatically after being uploaded to docspell?
Context: eikek/docspell#1262 (point 4)
As far as I understand the documentation, only the original files, not the processed PDF/A-files are exported. A switch to change this behaviour would be great.
Think something may have gone wrong in a version update: I can no longer install the master branch of this repo & CI fails, too:
Compiling dsc v0.11.0-pre (/project)
error[E0271]: type mismatch resolving `<InteractSnafu as IntoError<Error>>::Source == Error`
Error: --> src/cli/cmd/view.rs:139:22
|
139 | .context(InteractSnafu)?
| ------- ^^^^^^^^^^^^^ expected `dialoguer::Error`, found `std::io::Error`
| |
| required by a bound introduced by this call
|
= note: `std::io::Error` and `dialoguer::Error` have similar names, but are actually distinct types
note: `std::io::Error` is defined in crate `std`
--> /rust/lib/rustlib/src/rust/library/std/src/io/error.rs:67:1
|
67 | pub struct Error {
| ^^^^^^^^^^^^^^^^
note: `dialoguer::Error` is defined in crate `dialoguer`
--> /cargo/registry/src/index.crates.io-6f17d22bba15001f/dialoguer-0.11.0/src/error.rs:7:1
|
7 | pub enum Error {
| ^^^^^^^^^^^^^^
note: required by a bound in `snafu::ResultExt::context`
--> /cargo/registry/src/index.crates.io-6f17d22bba15001f/snafu-0.7.5/src/lib.rs:568:26
|
566 | fn context<C, E2>(self, context: C) -> Result<T, E2>
| ------- required by a bound in this associated function
567 | where
568 | C: IntoError<E2, Source = E>,
| ^^^^^^^^^^ required by this bound in `ResultExt::context`
For more information about this error, try `rustc --explain E0271`.
error: could not compile `dsc` (lib) due to previous error
My closest suspect is this PR: #384 where dialoguer got updated. The parent commit on master succeeded CI, and none of the commits following its merge do.
The export
function is interesting, because it exports all of docspells' internal data into an easy to use data-format.
Though while I expect the items
folder to be potentially interesting for importing into other solutions (thus processing by machines), I would regard the by_*
folders more as something like nice-to-have for the user.
So, assuming that the by_*
folders are only interesting for users and not for machine processing - does it make sense to name the files after the IDs of the documents? IMHO, instead sanitizing the documents' name and using that as link name would make more sense. Another option would be to make it configurable, like: --link-naming=id
, --link-naming=name
.
What do you think about this? (I would implement it then)
Hi,
I'm not sure where to put the --exclude option when running dsc with the watch option. Right now I'm using:
dsc -d http://docspell-restserver:7880 watch --delete -ir --header Docspell-Integration:xyz /opt/docs --exclude *@SynoEAStream
but I'm getting this error message
error: Found argument '--exclude' which wasn't expected, or isn't valid in this context
If you tried to supply `--exclude` as a PATTERN use `-- --exclude`
USAGE:
dsc watch <dirs>... --delete --integration --recursive --header <header>
For more information try --help
Obviously -- --exclude
is not a valid option, but how can I use it?
They could all be tried and first match wins.
See eikek/docspell#984.
If a collective cannot be guessed from the directory structure, only a 404 error is shown which is not helpful to find the cause.
Some http-servers like IIS or Lighttpd require a "Content-Lenght:0" http header to fulfill a POST request with empty body (or else you will receive a http 411 status code telling you that the content lenght is missing).
This is for example when re-creating the Solr index dcs admin -a xxxx recreate-index
.
~/docker/docspell$ ./dsc admin -a secret recreate-index
Cmd: Admin: RecreateIndex: An http error occurred: An error was received from https://myserver.com/api/v1/admin/fts/reIndexAll: HTTP status client error (411 Length Required) for url (https://myserver.com/api/v1/admin/fts/reIndexAll)
There is a spelling error in the
Docspell command line interface
fragment of the repository description on https://github.com/docspell/dsc
You'll see it.
Hi!
Currently I cannot use dsc due to my instance using a certificate signed by a private PKI. I Added the root to my system wide trust store (curl and stuff all works) but dsc won't.
Which trust store does the client use?
I also propose an option to provide the key via cli (and/or config.toml) for folks, that use self-signed certs without PKI.
Have a nice day!
Hi,
I've had this idea to use dsc
in order to make a full backup of the documents in an organized structure that'll represent the structure in Docspell as closely as possible.
What I had in mind is something like the following structure:
documents
└── document_title
├── file-a.pdf
└── file-b.pdf
This could then be extended to include other "metadata" represented in a file directory structure using symlinks.
For example, by-date
:
by-date
└── 1970-01-01
└── document_title -> ../../documents/document_title
├── file-a.pdf
└── file-b.pdf
or by-tag
: (note how it appears multiple times to represent multiple tags)
by-tag
└── #important-stuff
└── document_title -> ../../documents/document_title
├── file-a.pdf
└── file-b.pdf
└── #invoices
└── document_title -> ../../documents/document_title
├── file-a.pdf
└── file-b.pdf
The main goal for me at least is to have another backup copy independent of Docspell that I can have alongside Docspell backups for any catastrophe situation. Somewhat gloomy but if I'm gone or unable to maintain the Docspell instance anymore, my family would still have access to all the documents through those backups.
What do you think?
Context: eikek/docspell#1262 (point 2)
Allow the export
command to not write the metadata file.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.