From 236d6c8c0dd7e15d9a9795813b94bc87ce09eec5 Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Date: Fri, 29 Apr 2022 19:32:29 +0200
Subject: [PATCH] Make it possible to build without debconf support

Not all systems have the debconfclient library available.

Upstream-Status: Backport [https://salsa.debian.org/debian/base-passwd/-/commit/c72aa5dd25a952da25e307761f4526db2c8c39ec]
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 Makefile.am     |  1 -
 configure.ac    | 13 +++++++++++++
 update-passwd.c | 15 +++++++++++++++
 3 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index 223916f..4bdd769 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,6 @@ SUBDIRS = doc man
 sbin_PROGRAMS = update-passwd
 
 update_passwd_SOURCES = update-passwd.c
-update_passwd_LDADD = -ldebconfclient
 
 pkgdata_DATA = passwd.master group.master
 
diff --git a/configure.ac b/configure.ac
index 9d1ace5..1e35ad1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,6 +14,19 @@ AC_SYS_LARGEFILE
 dnl Scan for things we need
 AC_CHECK_FUNCS([putgrent])
 
+dnl Check for debconf
+AC_MSG_CHECKING([whether to enable debconf support])
+AC_ARG_ENABLE([debconf],
+  [AS_HELP_STRING([--disable-debconf], [disable support for debconf])],
+  [],
+  [enable_debconf=yes])
+AC_MSG_RESULT($enable_debconf)
+AS_IF([test "x$enable_debconf" != xno],
+  [AC_CHECK_LIB([debconfclient], [debconfclient_new], [],
+    [AC_MSG_ERROR(
+      [debconf support not available (use --disable-debconf to disable)])])
+   AC_DEFINE([HAVE_DEBCONF], [1], [Define if you have libdebconfclient])])
+
 dnl Finally output everything
 AC_CONFIG_FILES([Makefile doc/Makefile man/Makefile])
 AC_OUTPUT
diff --git a/update-passwd.c b/update-passwd.c
index 3f3dffa..5b49740 100644
--- a/update-passwd.c
+++ b/update-passwd.c
@@ -39,7 +39,9 @@
 #include <stdarg.h>
 #include <ctype.h>
 
+#ifdef HAVE_DEBCONF
 #include <cdebconf/debconfclient.h>
+#endif
 
 #define DEFAULT_PASSWD_MASTER	"/usr/share/base-passwd/passwd.master"
 #define DEFAULT_GROUP_MASTER	"/usr/share/base-passwd/group.master"
@@ -143,6 +145,7 @@ int		flag_debconf	= 0;
 const char*	user_domain	= DEFAULT_DEBCONF_DOMAIN;
 const char*	group_domain	= DEFAULT_DEBCONF_DOMAIN;
 
+#ifdef HAVE_DEBCONF
 struct debconfclient*	debconf	= NULL;
 
 /* Abort the program if talking to debconf fails.  Use ret exactly once. */
@@ -162,6 +165,10 @@ struct debconfclient*	debconf	= NULL;
     DEBCONF_CHECK(debconf_register(debconf, (template), (question)))
 #define DEBCONF_SUBST(question, var, value) \
     DEBCONF_CHECK(debconf_subst(debconf, (question), (var), (value)))
+#else
+#define DEBCONF_REGISTER(template, question)
+#define DEBCONF_SUBST(question, var, value)
+#endif
 
 
 /* malloc() with out-of-memory checking.
@@ -621,6 +628,7 @@ void version() {
  * flag.  Aborts the problem on any failure.
  */
 int ask_debconf(const char* priority, const char* question) {
+#ifdef HAVE_DEBCONF
     int		ret;
     const char*	response;
 
@@ -640,6 +648,9 @@ int ask_debconf(const char* priority, const char* question) {
 	return 1;
     else
 	return 0;
+#else
+	return 0;
+#endif
 }
 
 
@@ -1427,6 +1438,7 @@ int main(int argc, char** argv) {
     /* If DEBIAN_HAS_FRONTEND is set in the environment, we're running under
      * debconf.  Enable debconf prompting unless --dry-run was also given.
      */
+#ifdef HAVE_DEBCONF
     if (getenv("DEBIAN_HAS_FRONTEND")!=NULL && !opt_dryrun) {
 	debconf=debconfclient_new();
 	if (debconf==NULL) {
@@ -1435,6 +1447,7 @@ int main(int argc, char** argv) {
 	}
 	flag_debconf=1;
     }
+#endif
 
     if (read_passwd(&master_accounts, master_passwd)!=0)
 	return 2;
@@ -1480,8 +1493,10 @@ int main(int argc, char** argv) {
 	if (!unlock_files())
 	    return 5;
 
+#ifdef HAVE_DEBCONF
     if (debconf!=NULL)
 	debconfclient_delete(debconf);
+#endif
 
     if (opt_dryrun)
 	return flag_dirty;
