View Issue Details

IDProjectCategoryView StatusLast Update
0010588Talermerchant backendpublic2026-03-20 23:55
Reportervecirex Assigned ToChristian Grothoff Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritylowSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version1.5Fixed in Version1.5 
Summary0010588: After installing taler-merchant (Deb/trixie-testing): /var/lib/taler-merchant missing, instead /var/lib/taler-exchange is there
DescriptionAcc. to the /etc/passwd file for the taler-merchant-httpd user, /var/lib/taler-merchant/ shall exist, but does not; instead, taler-exchange/ shows up there:

root@bcead3ae4f5e:/etc/nginx/sites-enabled# cat /etc/passwd | grep taler
taler-merchant-httpd:x:103:33::/var/lib/taler-merchant:/usr/sbin/nologin
root@bcead3ae4f5e:/etc/nginx/sites-enabled# ls -l /var/lib/ | grep taler
drwxr-xr-x 1 root root 0 Oct 31 11:23 taler-exchange
root@bcead3ae4f5e:/etc/nginx/sites-enabled#
Steps To ReproduceJust install taler-merchant on a fresh, e.g., containerized system:

apt-get install taler-merchant # from trixie-testing
root@bcead3ae4f5e:/etc/nginx/sites-enabled# dpkg --list | grep taler
ii libtalerexchange 1.1.4~trixie amd64 Libraries to talk to a GNU Taler exchange.
ii libtalermerchant 1.1.6~trixie amd64 libraries to talk to a GNU Taler merchant.
ii taler-merchant 1.1.6~trixie amd64 GNU's payment system merchant backend.
ii taler-terms-generator 1.1.4~trixie amd64 Tool to generate the terms of service

The described situation is before starting taler-merchant-httpd.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0010561 closedvecirex Taler Setup of self-provisioning system to test self-provisioning & receive (-> future) donations for Tor/Katzenpost/BitTorrent infra 
related to 0011076 closedChristian Grothoff Taler merchant report PDF generation fails with permission error on Debian trixie 
related to 0010956 closedFlorian Dold Taler taler-merchant expects /var/lib/taler-merchant/ to exist 

Activities

vecirex

2025-11-12 18:19

administrator   ~0026404

Add info: pkg from repo label trixie-testing

vecirex

2025-11-12 18:25

administrator   ~0026405

/var/lib/taler-exchange might exist because of this installed package, as a lib dependency:

 ii libtalerexchange 1.1.4~trixie amd64 Libraries to talk to a GNU Taler exchange

However, if we are to just run a taler-merchant and not a taler-exchange service on a system, I guess that folder shall not exist.

vecirex

2025-11-12 18:28

administrator   ~0026406

titlefix

Christian Grothoff

2025-11-12 21:50

manager   ~0026409

The "taler-exchange.postinst" creates /var/lib/taler-exchange for the secmod users, they need it.

That said, if you installed ONLY taler-merchant, you should not get taler-exchange as a dependency and thus also not that directory.

So first question: is taler-exchange installed, or just libtalerexchange?

Christian Grothoff

2025-11-12 21:51

manager   ~0026410

Oh, and /etc/passwd listing /var/lib/taler-merchant does NOT mean that it should exist, you can totally create a user without a $HOME, and as the merchant processes do not need a home, it's fine that the passwd points to a non-existent home directory.

vecirex

2025-11-13 14:38

administrator   ~0026426

Last edited: 2025-11-13 14:41

taler-exchange was never installed, no: see section of steps to reproduce with dpkg --list | grep taler.

And that with the $HOME folder which is not strictly needed to operate with the user is clear, but I assume there's an intention on listing that exact path there. :)

In any case, the folder is documented to exist:

taler-merchant-httpd@bcead3ae4f5e:/etc/taler-merchant$ cat taler-merchant.conf | grep TALER_DATA_HOME -B 7
# Paths for the system-wide installation of the Taler merchant. Do not remove
# or change these unless you are very sure of what you are doing.

TALER_HOME = /var/lib/taler-merchant/
TALER_RUNTIME_DIR = /run/taler-merchant/
TALER_CACHE_HOME = /var/cache/taler-merchant/
TALER_CONFIG_HOME = /etc/taler-merchant/
TALER_DATA_HOME = /var/lib/taler-merchant/
taler-merchant-httpd@bcead3ae4f5e:/etc/taler-merchant$

vecirex

2025-11-18 17:02

administrator   ~0026531

Low prio for this, folder /var/lib/taler-merchant folder never showed to be used for anything, until now. It still doesn't exist in my live instance. Still not all functionality tested, however.

On the other hand, having the exchange folder is just confusing, but not interfering with anything.

Christian Grothoff

2026-03-06 20:43

manager   ~0028025

Pretty sure this is fixed, and we do now need and create /var/lib/taler-merchant ;-).

Issue History

Date ModifiedUsernameFieldChange
2025-11-12 18:16vecirexNew Issue
2025-11-12 18:17vecirexDescription Updated
2025-11-12 18:17vecirexSteps to Reproduce Updated
2025-11-12 18:19vecirexSteps to Reproduce Updated
2025-11-12 18:19vecirexNote Added: 0026404
2025-11-12 18:25vecirexNote Added: 0026405
2025-11-12 18:28vecirexSummaryAfter installing taler-merchant (trixie-test): /var/lib/taler-merchant missing, instead /var/lib/taler-exchange is there => After installing taler-merchant (Deb/trixie-testing): /var/lib/taler-merchant missing, instead /var/lib/taler-exchange is there
2025-11-12 18:28vecirexNote Added: 0026406
2025-11-12 21:50Christian GrothoffNote Added: 0026409
2025-11-12 21:51Christian GrothoffNote Added: 0026410
2025-11-12 21:51Christian GrothoffAssigned To => vecirex
2025-11-12 21:51Christian GrothoffStatusnew => feedback
2025-11-13 14:38vecirexNote Added: 0026426
2025-11-13 14:41vecirexNote Edited: 0026426
2025-11-18 17:02vecirexPrioritynormal => low
2025-11-18 17:02vecirexNote Added: 0026531
2025-11-18 17:04vecirexRelationship addedrelated to 0010561
2025-12-21 21:08Christian GrothoffTarget Versiongit (master) => post-1.0
2026-01-31 19:17vecirexRelationship addedrelated to 0010956
2026-02-15 19:25vecirexAssigned Tovecirex => Florian Dold
2026-02-15 19:25vecirexSeverityminor => tweak
2026-02-15 19:25vecirexStatusfeedback => assigned
2026-02-22 14:15Christian GrothoffRelationship addedrelated to 0011076
2026-02-22 14:16Christian GrothoffAssigned ToFlorian Dold =>
2026-02-22 14:16Christian GrothoffStatusassigned => implementing
2026-03-06 20:43Christian GrothoffAssigned To => Christian Grothoff
2026-03-06 20:43Christian GrothoffStatusimplementing => informing
2026-03-06 20:43Christian GrothoffResolutionopen => fixed
2026-03-06 20:43Christian GrothoffFixed in Version => 1.5
2026-03-06 20:43Christian GrothoffNote Added: 0028025
2026-03-06 20:43Christian GrothoffTarget Versionpost-1.0 => 1.5
2026-03-20 23:55Christian GrothoffStatusinforming => closed