summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-09-17 10:51:02 +0200
committerChristian Grothoff <christian@grothoff.org>2021-09-17 10:51:02 +0200
commit960ab5516bdfa9bedc79b7e62fea9fcc4dd3db58 (patch)
tree36300fc6510b6b3b0de82e3bd7ab6f12cb7178a7
parent6bccda792e3709e5f730b6b2360aa268f4c8d7e2 (diff)
downloadsync-960ab5516bdfa9bedc79b7e62fea9fcc4dd3db58.tar.gz
sync-960ab5516bdfa9bedc79b7e62fea9fcc4dd3db58.tar.bz2
sync-960ab5516bdfa9bedc79b7e62fea9fcc4dd3db58.zip
-fix sync-config and service file
-rw-r--r--debian/sync-httpd.postinst4
-rw-r--r--debian/sync-httpd.service3
-rw-r--r--src/util/.gitignore1
-rw-r--r--src/util/Makefile.am12
-rw-r--r--src/util/sync-config17
-rw-r--r--src/util/sync-config.c73
-rw-r--r--src/util/sync-config.in13
7 files changed, 103 insertions, 20 deletions
diff --git a/debian/sync-httpd.postinst b/debian/sync-httpd.postinst
index 16acb35..60393ad 100644
--- a/debian/sync-httpd.postinst
+++ b/debian/sync-httpd.postinst
@@ -2,7 +2,7 @@
set -e
-TALER_HOME="/var/lib/taler/"
+SYNC_HOME="/var/lib/sync/"
_USERNAME=sync-httpd
_GROUPNAME=www-data
@@ -17,7 +17,7 @@ case "${1}" in
configure)
# Creating taler users if needed
if ! getent passwd ${_USERNAME} >/dev/null; then
- adduser --quiet --system --ingroup ${_GROUPNAME} --no-create-home --home ${TALER_HOME} ${_USERNAME}
+ adduser --quiet --system --ingroup ${_GROUPNAME} --no-create-home --home ${SYNC_HOME} ${_USERNAME}
fi
if ! dpkg-statoverride --list /etc/sync/secrets/sync-db.secret.conf >/dev/null 2>&1; then
diff --git a/debian/sync-httpd.service b/debian/sync-httpd.service
index c7b9fb2..2c97c37 100644
--- a/debian/sync-httpd.service
+++ b/debian/sync-httpd.service
@@ -6,3 +6,6 @@ User=sync-httpd
Type=simple
Restart=on-failure
ExecStart=/usr/bin/sync-httpd -c /etc/sync/sync.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/src/util/.gitignore b/src/util/.gitignore
new file mode 100644
index 0000000..29ee759
--- /dev/null
+++ b/src/util/.gitignore
@@ -0,0 +1 @@
+sync-config
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index 00e70d9..6bc2447 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -13,7 +13,17 @@ bin_SCRIPTS = \
sync-config
EXTRA_DIST = \
- $(bin_SCRIPTS)
+ $(bin_SCRIPTS) \
+ sync-config.in
+
+edit_script = $(SED) -e 's,%libdir%,$(libdir),'g $(NULL)
+
+sync-config: sync-config.in
+ rm -f $@ $@.tmp && \
+ $(edit_script) $< >$@.tmp && \
+ chmod a-w+x $@.tmp && \
+ mv $@.tmp $@
+
lib_LTLIBRARIES = \
libsyncutil.la
diff --git a/src/util/sync-config b/src/util/sync-config
deleted file mode 100644
index 6184167..0000000
--- a/src/util/sync-config
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-
-set -eu
-
-if ! type gnunet-config >/dev/null; then
- echo "$0 needs gnunet-config to be installed"
- exit 1
-fi
-
-# FIXME: not very portable ...
-# FIXME: should use "libdir" instead of prefix/lib, but somehow
-# the recursive expansion does not work ;-(.
-GC=`which gnunet-config`
-ASAN=""
-A=`ldd $GC | grep libasan` && ASAN=`echo $A | awk '{print $3 ":"}'`
-export LD_PRELOAD=${ASAN}${LD_PRELOAD:-}:/home/grothoff/lib/libsyncutil.so
-exec gnunet-config "$@"
diff --git a/src/util/sync-config.c b/src/util/sync-config.c
new file mode 100644
index 0000000..0e432f8
--- /dev/null
+++ b/src/util/sync-config.c
@@ -0,0 +1,73 @@
+/*
+ This file is part of Taler.
+ Copyright (C) 2012-2021 Taler Systems SA
+
+ Taler is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ Taler 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
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
+ */
+
+/**
+ * @file util/taler-config.c
+ * @brief tool to access and manipulate Taler configuration files
+ * @author Christian Grothoff
+ */
+#include "platform.h"
+#include "taler_util_lib.h"
+
+
+/**
+ * Program to manipulate configuration files.
+ *
+ * @param argc number of arguments from the command line
+ * @param argv command line arguments
+ * @return 0 ok, 1 on error
+ */
+int
+main (int argc,
+ char *const *argv)
+{
+ struct GNUNET_CONFIGURATION_ConfigSettings cs = {
+ .api_version = GNUNET_UTIL_VERSION,
+ .global_ret = EXIT_SUCCESS
+ };
+ struct GNUNET_GETOPT_CommandLineOption options[] = {
+ GNUNET_GETOPT_OPTION_END
+ };
+ enum GNUNET_GenericReturnValue ret;
+
+ if (GNUNET_OK !=
+ GNUNET_STRINGS_get_utf8_args (argc, argv,
+ &argc, &argv))
+ return EXIT_FAILURE;
+ TALER_OS_init ();
+ ret = GNUNET_PROGRAM_run (argc,
+ argv,
+ "taler-config [OPTIONS]",
+ gettext_noop (
+ "Manipulate Taler configuration files"),
+ options,
+ &GNUNET_CONFIGURATION_config_tool_run,
+ &cs);
+ GNUNET_free_nz ((void *) argv);
+ GNUNET_CONFIGURATION_config_settings_free (&cs);
+ if (GNUNET_NO == ret)
+ return 0;
+ if (GNUNET_SYSERR == ret)
+ return EXIT_INVALIDARGUMENT;
+ return cs.global_ret;
+}
+
+
+/* end of taler-config.c */
diff --git a/src/util/sync-config.in b/src/util/sync-config.in
new file mode 100644
index 0000000..b1c4971
--- /dev/null
+++ b/src/util/sync-config.in
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+
+set -eu
+
+if ! type gnunet-config >/dev/null; then
+ echo "$0 needs gnunet-config to be installed"
+ exit 1
+fi
+
+GC=`which gnunet-config`
+SO=`ls %libdir%/libsyncutil.so.* | sort -n | tail -n1`
+export LD_PRELOAD=${LD_PRELOAD:-}:${SO}
+exec gnunet-config "$@"