Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Aug 2023 11:36:11 GMT
From:      Gleb Popov <arrowd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: dce7c84bbbee - main - sysutils/accountsservice: Switch to my fork and update to 23.13.9
Message-ID:  <202308131136.37DBaBj8035423@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=dce7c84bbbee09a7d97c60af6aa11eb90e4c0aaa

commit dce7c84bbbee09a7d97c60af6aa11eb90e4c0aaa
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2023-08-12 18:19:00 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2023-08-13 11:34:55 +0000

    sysutils/accountsservice: Switch to my fork and update to 23.13.9
    
    My fork incorporates adapted patches from Olivier Duchateau.
    
    PR:             270881
    Sponsored by:   Serenity Cybersecurity, LLC
---
 sysutils/accountsservice/Makefile                  |  26 +-
 sysutils/accountsservice/distinfo                  |   8 +-
 .../files/patch-generate-version.sh                |  11 +
 sysutils/accountsservice/files/patch-meson.build   |  16 +-
 .../files/patch-meson__post__install.py            |   6 +-
 sysutils/accountsservice/files/patch-src_daemon.c  | 294 ---------------------
 ...patch-src_libaccountsservice_act-user-manager.c |  24 --
 .../files/patch-src_libaccountsservice_act-user.c  |  11 -
 .../accountsservice/files/patch-src_meson.build    |   6 +-
 .../files/patch-src_user-classify.c                |  18 --
 sysutils/accountsservice/files/patch-src_user.c    | 248 -----------------
 sysutils/accountsservice/files/patch-src_user.h    |  27 --
 sysutils/accountsservice/files/patch-src_util.c    |  11 -
 .../accountsservice/files/patch-src_wtmp-helper.h  |  10 -
 sysutils/accountsservice/pkg-plist                 |   4 +-
 15 files changed, 44 insertions(+), 676 deletions(-)

diff --git a/sysutils/accountsservice/Makefile b/sysutils/accountsservice/Makefile
index 6078b9d80983..e4b92dbde119 100644
--- a/sysutils/accountsservice/Makefile
+++ b/sysutils/accountsservice/Makefile
@@ -1,13 +1,9 @@
 PORTNAME=	accountsservice
-PORTVERSION=	0.6.55
-PORTREVISION=	5
+PORTVERSION=	23.13.9
 CATEGORIES=	sysutils devel
-MASTER_SITES=	http://www.freedesktop.org/software/${PORTNAME}/
+MASTER_SITES=	https://www.freedesktop.org/software/${PORTNAME}/
 
-PATCH_SITES=	https://gitlab.freedesktop.org/${PORTNAME}/${PORTNAME}/-/commit/
-PATCHFILES+=	ac9b14f1c1bb.patch:-p1 # https://gitlab.freedesktop.org/accountsservice/accountsservice/-/merge_requests/82
-
-MAINTAINER=	kwm@FreeBSD.org
+MAINTAINER=	desktop@FreeBSD.org
 COMMENT=	D-Bus interface for user account query and manipulation
 WWW=		https://gitlab.freedesktop.org/accountsservice/accountsservice
 
@@ -15,16 +11,24 @@ LICENSE=	GPLv3+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
 BUILD_DEPENDS=	dbus>0:devel/dbus
-LIB_DEPENDS=	libpolkit-gobject-1.so:sysutils/polkit
+LIB_DEPENDS=	libpolkit-gobject-1.so:sysutils/polkit \
+		libconsolekit.so:sysutils/consolekit2
 
 USES=		cpe gettext gnome localbase:ldflags meson pkgconfig tar:xz
 CPE_VENDOR=	freedesktop
 USE_GNOME=	glib20 intltool libxslt introspection:build
 USE_LDCONFIG=	yes
-MESON_ARGS=	-Delogind=false \
+MESON_ARGS=	-Dconsolekit=true \
 		-Dgdmconffile=${LOCALBASE}/etc/gdm/custom.conf \
+		-Dlightdmconffile=${LOCALBASE}/etc/lightdm/lightdm.conf \
 		-Dlocalstatedir=/var \
-		-Dsystemd=false \
-		-Dsystemdsystemunitdir=no
+		-Dsystemdsystemunitdir=no \
+		-Dvapi=false \
+		-Dtests=false
+
+USE_GITLAB=	yes
+GL_SITE=	https://gitlab.freedesktop.org
+GL_ACCOUNT=	arrowd
+GL_TAGNAME=	1ad459450480baa3e2024db4edee0a30ca0edc20
 
 .include <bsd.port.mk>
diff --git a/sysutils/accountsservice/distinfo b/sysutils/accountsservice/distinfo
index 85de866bdfc4..04b2d57f9efa 100644
--- a/sysutils/accountsservice/distinfo
+++ b/sysutils/accountsservice/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1600462353
-SHA256 (accountsservice-0.6.55.tar.xz) = ff2b2419a7e06bd9cb335ffe391c7409b49a0f0130b890bd54692a3986699c9b
-SIZE (accountsservice-0.6.55.tar.xz) = 97972
-SHA256 (ac9b14f1c1bb.patch) = 2a369203c0f9d091ab1d6ff46c3b9ab88c345ed27e314f04a867ccc4b33e2be2
-SIZE (ac9b14f1c1bb.patch) = 723
+TIMESTAMP = 1691866961
+SHA256 (arrowd-accountsservice-1ad459450480baa3e2024db4edee0a30ca0edc20_GL0.tar.gz) = 0e6c21e99c117f1e233d91863c89fb71f97b10602145003ac8a50a48d34cfc16
+SIZE (arrowd-accountsservice-1ad459450480baa3e2024db4edee0a30ca0edc20_GL0.tar.gz) = 669339
diff --git a/sysutils/accountsservice/files/patch-generate-version.sh b/sysutils/accountsservice/files/patch-generate-version.sh
new file mode 100644
index 000000000000..f979a4b00b78
--- /dev/null
+++ b/sysutils/accountsservice/files/patch-generate-version.sh
@@ -0,0 +1,11 @@
+--- generate-version.sh.orig	2023-08-12 19:01:30 UTC
++++ generate-version.sh
+@@ -7,7 +7,7 @@ exec 2>&3
+ exec 2>&3
+ 
+ # If it's not from a git checkout, assume it's from a tarball
+-if ! git rev-parse --is-inside-git-dir > /dev/null 2>&1; then
++if ! false > /dev/null 2>&1; then
+     VERSION_FROM_DIR_NAME=$(basename "$CWD" | sed -n 's/^accountsservice-\([^-]*\)$/\1/p')
+ 
+     if [ -n "$VERSION_FROM_DIR_NAME" ]; then
diff --git a/sysutils/accountsservice/files/patch-meson.build b/sysutils/accountsservice/files/patch-meson.build
index 13ecb2d1e712..0c44fe80183b 100644
--- a/sysutils/accountsservice/files/patch-meson.build
+++ b/sysutils/accountsservice/files/patch-meson.build
@@ -1,16 +1,10 @@
---- meson.build.orig	2018-09-29 12:54:53 UTC
+--- meson.build.orig	2023-08-12 19:01:30 UTC
 +++ meson.build
-@@ -82,8 +82,11 @@ if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', p
- elif cc.has_header_symbol('paths.h', '_PATH_WTMPX')
+@@ -105,7 +105,6 @@ else
    config_h.set('PATH_WTMP', '_PATH_WTMPX')
  else
--  assert(run_command('test', '-e', '/var/log/utx.log').returncode() == 0, 'Do not know which filename to watch for wtmp changes')
--  config_h.set_quoted('PATH_WTMP', '/var/log/utx.log')
-+  # Ugly hack for jails builders!
-+  _system = host_machine.system().to_lower()
-+  if _system.contains('freebsd')
-+    config_h.set_quoted('PATH_WTMP', '/var/log/utx.log')
-+  endif
+   path_wtmp = '/var/log/utx.log'
+-  assert(run_command('test', '-e', path_wtmp, check: false).returncode() == 0, 'Do not know which filename to watch for wtmp changes')
+   config_h.set_quoted('PATH_WTMP', path_wtmp)
  endif
  
- # compiler flags
diff --git a/sysutils/accountsservice/files/patch-meson__post__install.py b/sysutils/accountsservice/files/patch-meson__post__install.py
index e0d71f5e7c41..26da68052247 100644
--- a/sysutils/accountsservice/files/patch-meson__post__install.py
+++ b/sysutils/accountsservice/files/patch-meson__post__install.py
@@ -1,11 +1,13 @@
---- meson_post_install.py.orig	2019-04-23 15:16:09 UTC
+--- meson_post_install.py.orig	2022-02-15 21:53:55 UTC
 +++ meson_post_install.py
-@@ -9,8 +9,8 @@ localstatedir = os.path.normpath(destdir + os.sep + sy
+@@ -9,9 +9,9 @@ localstatedir = os.path.normpath(destdir + os.sep + sy
  # FIXME: meson will not track the creation of these directories
  #        https://github.com/mesonbuild/meson/blob/master/mesonbuild/scripts/uninstall.py#L39
  dst_dirs = [
+-  (os.path.join(localstatedir, 'lib'), 0o755),
 -  (os.path.join(localstatedir, 'lib', 'AccountsService', 'icons'), 0o775),
 -  (os.path.join(localstatedir, 'lib', 'AccountsService', 'users'), 0o700),
++  (os.path.join(localstatedir, 'db'), 0o755),
 +  (os.path.join(localstatedir, 'db', 'AccountsService', 'icons'), 0o775),
 +  (os.path.join(localstatedir, 'db', 'AccountsService', 'users'), 0o700),
  ]
diff --git a/sysutils/accountsservice/files/patch-src_daemon.c b/sysutils/accountsservice/files/patch-src_daemon.c
deleted file mode 100644
index 3a7131000a89..000000000000
--- a/sysutils/accountsservice/files/patch-src_daemon.c
+++ /dev/null
@@ -1,294 +0,0 @@
---- src/daemon.c.orig	2018-09-26 13:20:49 UTC
-+++ src/daemon.c
-@@ -79,7 +79,11 @@ typedef struct {
-         GHashTable *extension_ifaces;
- } DaemonPrivate;
- 
-+#ifdef HAVE_SHADOW_H
- typedef struct passwd * (* EntryGeneratorFunc) (Daemon *, GHashTable *, gpointer *, struct spwd **shadow_entry);
-+#else
-+typedef struct passwd * (* EntryGeneratorFunc) (Daemon *, GHashTable *, gpointer *);
-+#endif
- 
- static void daemon_accounts_accounts_iface_init (AccountsAccountsIface *iface);
- 
-@@ -154,17 +158,25 @@ remove_cache_files (const gchar *user_name)
- }
- 
- static struct passwd *
-+#ifdef HAVE_SHADOW_H
- entry_generator_fgetpwent (Daemon       *daemon,
-                            GHashTable   *users,
-                            gpointer     *state,
-                            struct spwd **spent)
-+#else
-+entry_generator_fgetpwent (Daemon       *daemon,
-+                           GHashTable   *users,
-+                           gpointer     *state)
-+#endif
- {
-         struct passwd *pwent;
- 
-+#ifdef HAVE_SHADOW_H
-         struct {
-                 struct spwd spbuf;
-                 char buf[1024];
-         } *shadow_entry_buffers;
-+#endif
- 
-         struct {
-                 FILE *fp;
-@@ -175,6 +187,7 @@ entry_generator_fgetpwent (Daemon       *daemon,
-         if (*state == NULL) {
-                 GHashTable *shadow_users = NULL;
-                 FILE *fp;
-+#ifdef HAVE_SHADOW_H
-                 struct spwd *shadow_entry;
- 
-                 fp = fopen (PATH_SHADOW, "r");
-@@ -208,6 +221,7 @@ entry_generator_fgetpwent (Daemon       *daemon,
-                         g_clear_pointer (&shadow_users, g_hash_table_unref);
-                         return NULL;
-                 }
-+#endif
- 
-                 fp = fopen (PATH_PASSWD, "r");
-                 if (fp == NULL) {
-@@ -229,12 +243,17 @@ entry_generator_fgetpwent (Daemon       *daemon,
-         if (g_hash_table_size (users) < MAX_LOCAL_USERS) {
-                 pwent = fgetpwent (generator_state->fp);
-                 if (pwent != NULL) {
-+#ifdef HAVE_SHADOW_H
-                         shadow_entry_buffers = g_hash_table_lookup (generator_state->users, pwent->pw_name);
- 
-                         if (shadow_entry_buffers != NULL) {
-                             *spent = &shadow_entry_buffers->spbuf;
-                         }
-                         return pwent;
-+#else
-+                        if (!generator_state->users || g_hash_table_lookup (generator_state->users, pwent->pw_name))
-+                            return pwent;
-+#endif
-                 }
-         }
- 
-@@ -248,10 +267,16 @@ entry_generator_fgetpwent (Daemon       *daemon,
- }
- 
- static struct passwd *
-+#ifdef HAVE_SHADOW_H
- entry_generator_cachedir (Daemon       *daemon,
-                           GHashTable   *users,
-                           gpointer     *state,
-                           struct spwd **shadow_entry)
-+#else
-+entry_generator_cachedir (Daemon       *daemon,
-+                          GHashTable   *users,
-+                          gpointer     *state)
-+#endif
- {
-         struct passwd *pwent;
-         g_autoptr(GError) error = NULL;
-@@ -293,7 +318,9 @@ entry_generator_cachedir (Daemon       *daemon,
-                         errno = 0;
-                         pwent = getpwnam (name);
-                         if (pwent != NULL) {
-+#ifdef HAVE_SHADOW_H
-                                 *shadow_entry = getspnam (pwent->pw_name);
-+#endif
- 
-                                 return pwent;
-                         } else if (errno == 0) {
-@@ -329,10 +356,16 @@ entry_generator_cachedir (Daemon       *daemon,
- }
- 
- static struct passwd *
-+#ifdef HAVE_SHADOW_H
- entry_generator_requested_users (Daemon       *daemon,
-                                  GHashTable   *users,
-                                  gpointer     *state,
-                                  struct spwd **shadow_entry)
-+#else
-+entry_generator_requested_users (Daemon       *daemon,
-+                                 GHashTable   *users,
-+                                 gpointer     *state)
-+#endif
- {
-         DaemonPrivate *priv = daemon_get_instance_private (daemon);
-         struct passwd *pwent;
-@@ -360,7 +393,9 @@ entry_generator_requested_users (Daemon       *daemon,
-                                 if (pwent == NULL) {
-                                         g_debug ("user '%s' requested previously but not present on system", name);
-                                 } else {
-+#ifdef HAVE_SHADOW_H
-                                         *shadow_entry = getspnam (pwent->pw_name);
-+#endif
- 
-                                         return pwent;
-                                 }
-@@ -383,19 +418,29 @@ load_entries (Daemon             *daemon,
-         DaemonPrivate *priv = daemon_get_instance_private (daemon);
-         gpointer generator_state = NULL;
-         struct passwd *pwent;
-+#ifdef HAVE_SHADOW_H
-         struct spwd *spent = NULL;
-+#endif
-         User *user = NULL;
- 
-         g_assert (entry_generator != NULL);
- 
-         for (;;) {
-+#ifdef HAVE_SHADOW_H
-                 spent = NULL;
-                 pwent = entry_generator (daemon, users, &generator_state, &spent);
-+#else
-+                pwent = entry_generator (daemon, users, &generator_state);
-+#endif
-                 if (pwent == NULL)
-                         break;
- 
-                 /* Skip system users... */
-+#ifdef HAVE_SHADOW_H
-                 if (!explicitly_requested && !user_classify_is_human (pwent->pw_uid, pwent->pw_name, pwent->pw_shell, spent? spent->sp_pwdp : NULL)) {
-+#else
-+                if (!explicitly_requested && !user_classify_is_human (pwent->pw_uid, pwent->pw_name, pwent->pw_shell, NULL)) {
-+#endif
-                         g_debug ("skipping user: %s", pwent->pw_name);
-                         continue;
-                 }
-@@ -417,7 +462,11 @@ load_entries (Daemon             *daemon,
- 
-                         /* freeze & update users not already in the new list */
-                         g_object_freeze_notify (G_OBJECT (user));
-+#ifdef HAVE_SHADOW_H
-                         user_update_from_pwent (user, pwent, spent);
-+#else
-+                        user_update_from_pwent (user, pwent);
-+#endif
- 
-                         g_hash_table_insert (users, g_strdup (user_get_user_name (user)), user);
-                         g_debug ("loaded user: %s", user_get_user_name (user));
-@@ -823,15 +872,24 @@ throw_error (GDBusMethodInvocation *context,
- }
- 
- static User *
-+#ifdef HAVE_SHADOW_H
- add_new_user_for_pwent (Daemon        *daemon,
-                         struct passwd *pwent,
-                         struct spwd   *spent)
-+#else
-+add_new_user_for_pwent (Daemon        *daemon,
-+                        struct passwd *pwent)
-+#endif
- {
-         DaemonPrivate *priv = daemon_get_instance_private (daemon);
-         User *user;
- 
-         user = user_new (daemon, pwent->pw_uid);
-+#ifdef HAVE_SHADOW_H
-         user_update_from_pwent (user, pwent, spent);
-+#else
-+        user_update_from_pwent (user, pwent);
-+#endif
-         user_register (user);
- 
-         g_hash_table_insert (priv->users,
-@@ -860,9 +918,13 @@ daemon_local_find_user_by_id (Daemon *daemon,
-         user = g_hash_table_lookup (priv->users, pwent->pw_name);
- 
-         if (user == NULL) {
-+#ifdef HAVE_SHADOW_H
-                 struct spwd *spent;
-                 spent = getspnam (pwent->pw_name);
-                 user = add_new_user_for_pwent (daemon, pwent, spent);
-+#else
-+                user = add_new_user_for_pwent (daemon, pwent);
-+#endif
- 
-                 priv->explicitly_requested_users = g_list_append (priv->explicitly_requested_users,
-                                                                   g_strdup (pwent->pw_name));
-@@ -888,9 +950,13 @@ daemon_local_find_user_by_name (Daemon      *daemon,
-         user = g_hash_table_lookup (priv->users, pwent->pw_name);
- 
-         if (user == NULL) {
-+#ifdef HAVE_SHADOW_H
-                 struct spwd *spent;
-                 spent = getspnam (pwent->pw_name);
-                 user = add_new_user_for_pwent (daemon, pwent, spent);
-+#else
-+                user = add_new_user_for_pwent (daemon, pwent);
-+#endif
- 
-                 priv->explicitly_requested_users = g_list_append (priv->explicitly_requested_users,
-                                                                   g_strdup (pwent->pw_name));
-@@ -1095,10 +1161,12 @@ daemon_create_user_authorized_cb (Daemon              
- 
-         sys_log (context, "create user '%s'", cd->user_name);
- 
--        argv[0] = "/usr/sbin/useradd";
--        argv[1] = "-m";
--        argv[2] = "-c";
--        argv[3] = cd->real_name;
-+        argv[0] = "/usr/sbin/pw";
-+        argv[1] = "useradd";
-+        argv[2] = cd->user_name;
-+        argv[3] = "-m";
-+        argv[4] = "-c";
-+        argv[5] = cd->real_name;
-         if (cd->account_type == ACCOUNT_TYPE_ADMINISTRATOR) {
-                 if (EXTRA_ADMIN_GROUPS != NULL && EXTRA_ADMIN_GROUPS[0] != '\0')
-                         admin_groups = g_strconcat (ADMIN_GROUP, ",",
-@@ -1106,15 +1174,11 @@ daemon_create_user_authorized_cb (Daemon              
-                 else
-                         admin_groups = g_strdup (ADMIN_GROUP);
- 
--                argv[4] = "-G";
--                argv[5] = admin_groups;
--                argv[6] = "--";
--                argv[7] = cd->user_name;
-+                argv[6] = "-G";
-+                argv[7] = admin_groups;
-                 argv[8] = NULL;
-         }
-         else if (cd->account_type == ACCOUNT_TYPE_STANDARD) {
--                argv[4] = "--";
--                argv[5] = cd->user_name;
-                 argv[6] = NULL;
-         }
-         else {
-@@ -1281,7 +1345,7 @@ daemon_delete_user_authorized_cb (Daemon              
-         DeleteUserData *ud = data;
-         g_autoptr(GError) error = NULL;
-         struct passwd *pwent;
--        const gchar *argv[6];
-+        const gchar *argv[5];
-         User *user;
- 
-         pwent = getpwuid (ud->uid);
-@@ -1307,19 +1371,16 @@ daemon_delete_user_authorized_cb (Daemon              
- 
-         user_set_saved (user, FALSE);
- 
--        argv[0] = "/usr/sbin/userdel";
-+        argv[0] = "/usr/sbin/pw";
-+        argv[1] = "userdel";
-         if (ud->remove_files) {
--                argv[1] = "-f";
--                argv[2] = "-r";
--                argv[3] = "--";
--                argv[4] = pwent->pw_name;
--                argv[5] = NULL;
-+                argv[2] = pwent->pw_name;
-+                argv[3] = "-r";
-+                argv[4] = NULL;
-         }
-         else {
--                argv[1] = "-f";
--                argv[2] = "--";
--                argv[3] = pwent->pw_name;
--                argv[4] = NULL;
-+                argv[2] = pwent->pw_name;
-+                argv[3] = NULL;
-         }
- 
-         if (!spawn_with_login_uid (context, argv, &error)) {
diff --git a/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user-manager.c b/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user-manager.c
deleted file mode 100644
index 9026883f2cc6..000000000000
--- a/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user-manager.c
+++ /dev/null
@@ -1,24 +0,0 @@
-Obtained from:
-	https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/sysutils/accountsservice/patches/patch-src_libaccountsservice_act-user-manager_c
-
-$OpenBSD: patch-src_libaccountsservice_act-user-manager_c,v 1.2 2021/08/30 19:15:24 ajacoutot Exp $
-
-REVERT: (breaks listing users in gdm and gnome-cc and unlocking screenshield)
-From c7fa612023a163e8b2352e1170c6df3fceb19b27 Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode@redhat.com>
-Date: Thu, 19 Jul 2018 13:14:09 -0400
-Subject: [PATCH] lib: don't set loaded state until seat is fetched
-
-Index: src/libaccountsservice/act-user-manager.c
---- src/libaccountsservice/act-user-manager.c.orig
-+++ src/libaccountsservice/act-user-manager.c
-@@ -2547,7 +2547,7 @@ maybe_set_is_loaded (ActUserManager *manager)
-         /* Don't set is_loaded yet unless the seat is already loaded enough
-          * or failed to load.
-          */
--        if (priv->seat.state > ACT_USER_MANAGER_SEAT_STATE_GET_ID) {
-+        if (priv->seat.state >= ACT_USER_MANAGER_SEAT_STATE_GET_ID) {
-                 g_debug ("ActUserManager: Seat loaded, so now setting loaded property");
-         } else if (priv->seat.state == ACT_USER_MANAGER_SEAT_STATE_UNLOADED) {
-                 g_debug ("ActUserManager: Seat wouldn't load, so giving up on it and setting loaded property");
-
diff --git a/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user.c b/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user.c
deleted file mode 100644
index f8b4dfae0ce7..000000000000
--- a/sysutils/accountsservice/files/patch-src_libaccountsservice_act-user.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/libaccountsservice/act-user.c.orig	2018-04-04 13:59:42 UTC
-+++ src/libaccountsservice/act-user.c
-@@ -26,8 +26,6 @@
- #include <sys/stat.h>
- #include <unistd.h>
- 
--#include <crypt.h>
--
- #include <glib.h>
- #include <glib/gi18n.h>
- #include <gio/gio.h>
diff --git a/sysutils/accountsservice/files/patch-src_meson.build b/sysutils/accountsservice/files/patch-src_meson.build
index 9687666febae..6370fd7be6df 100644
--- a/sysutils/accountsservice/files/patch-src_meson.build
+++ b/sysutils/accountsservice/files/patch-src_meson.build
@@ -1,9 +1,9 @@
---- src/meson.build.orig	2018-09-29 12:54:53 UTC
+--- src/meson.build.orig	2022-01-28 20:47:34 UTC
 +++ src/meson.build
-@@ -26,8 +26,8 @@ deps = [
- cflags = [
+@@ -28,8 +28,8 @@ cflags = [
    '-DLOCALSTATEDIR="@0@"'.format(act_localstatedir),
    '-DDATADIR="@0@"'.format(act_datadir),
+   '-DSYSCONFDIR="@0@"'.format(act_sysconfdir),
 -  '-DICONDIR="@0@"'.format(join_paths(act_localstatedir, 'lib', 'AccountsService', 'icons')),
 -  '-DUSERDIR="@0@"'.format(join_paths(act_localstatedir, 'lib', 'AccountsService', 'users')),
 +  '-DICONDIR="@0@"'.format(join_paths(act_localstatedir, 'db', 'AccountsService', 'icons')),
diff --git a/sysutils/accountsservice/files/patch-src_user-classify.c b/sysutils/accountsservice/files/patch-src_user-classify.c
deleted file mode 100644
index ae8aae3d3129..000000000000
--- a/sysutils/accountsservice/files/patch-src_user-classify.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/user-classify.c.orig	2014-03-15 15:09:59.000000000 +0100
-+++ src/user-classify.c	2014-03-15 15:11:06.000000000 +0100
-@@ -44,6 +44,7 @@
-         "nobody4",
-         "noaccess",
-         "postgres",
-+        "pgsql",
-         "pvm",
-         "rpm",
-         "nfsnobody",
-@@ -53,6 +54,7 @@
-         "games",
-         "man",
-         "at",
-+        "saned",
-         "gdm",
-         "gnome-initial-setup"
- };
diff --git a/sysutils/accountsservice/files/patch-src_user.c b/sysutils/accountsservice/files/patch-src_user.c
deleted file mode 100644
index 97de2d32f798..000000000000
--- a/sysutils/accountsservice/files/patch-src_user.c
+++ /dev/null
@@ -1,248 +0,0 @@
---- src/user.c.orig	2018-04-20 20:52:07 UTC
-+++ src/user.c
-@@ -138,9 +138,14 @@ user_reset_icon_file (User *user)
- }
- 
- void
-+#ifdef HAVE_SHADOW_H
- user_update_from_pwent (User          *user,
-                         struct passwd *pwent,
-                         struct spwd   *spent)
-+#else
-+user_update_from_pwent (User          *user,
-+                        struct passwd *pwent)
-+#endif
- {
-         g_autofree gchar *real_name = NULL;
-         gboolean is_system_account;
-@@ -199,8 +204,10 @@ user_update_from_pwent (User          *user,
-         accounts_user_set_shell (ACCOUNTS_USER (user), pwent->pw_shell);
- 
-         passwd = NULL;
-+#ifdef HAVE_SHADOW_H
-         if (spent)
-                 passwd = spent->sp_pwdp;
-+#endif
- 
-         if (passwd && passwd[0] == '!') {
-                 locked = TRUE;
-@@ -218,6 +225,7 @@ user_update_from_pwent (User          *user,
-                 mode = PASSWORD_MODE_NONE;
-         }
- 
-+#ifdef HAVE_SHADOW_H
-         if (spent) {
-                 if (spent->sp_lstchg == 0) {
-                         mode = PASSWORD_MODE_SET_AT_LOGIN;
-@@ -231,6 +239,9 @@ user_update_from_pwent (User          *user,
-                 user->days_after_expiration_until_lock = spent->sp_inact;
-                 user->account_expiration_policy_known = TRUE;
-         }
-+#else
-+        user->expiration_time = pwent->pw_expire;
-+#endif
- 
-         accounts_user_set_password_mode (ACCOUNTS_USER (user), mode);
-         is_system_account = !user_classify_is_human (accounts_user_get_uid (ACCOUNTS_USER (user)),
-@@ -813,11 +824,11 @@ user_change_real_name_authorized_cb (Daemon           
-                          accounts_user_get_uid (ACCOUNTS_USER (user)),
-                          name);
- 
--                argv[0] = "/usr/sbin/usermod";
--                argv[1] = "-c";
--                argv[2] = name;
--                argv[3] = "--";
--                argv[4] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[0] = "/usr/sbin/pw";
-+                argv[1] = "usermod";
-+                argv[2] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[3] = "-c";
-+                argv[4] = name;
-                 argv[5] = NULL;
- 
-                 if (!spawn_with_login_uid (context, argv, &error)) {
-@@ -882,11 +893,11 @@ user_change_user_name_authorized_cb (Daemon           
-                          accounts_user_get_uid (ACCOUNTS_USER (user)),
-                          name);
- 
--                argv[0] = "/usr/sbin/usermod";
--                argv[1] = "-l";
--                argv[2] = name;
--                argv[3] = "--";
--                argv[4] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[0] = "/usr/sbin/pw";
-+                argv[1] = "usermod";
-+                argv[2] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[3] = "-n";
-+                argv[4] = name;
-                 argv[5] = NULL;
- 
-                 if (!spawn_with_login_uid (context, argv, &error)) {
-@@ -1183,7 +1194,7 @@ user_change_home_dir_authorized_cb (Daemon            
- {
-         gchar *home_dir = data;
-         g_autoptr(GError) error = NULL;
--        const gchar *argv[7];
-+        const gchar *argv[6];
- 
-         if (g_strcmp0 (accounts_user_get_home_directory (ACCOUNTS_USER (user)), home_dir) != 0) {
-                 sys_log (context,
-@@ -1192,13 +1203,12 @@ user_change_home_dir_authorized_cb (Daemon            
-                          accounts_user_get_uid (ACCOUNTS_USER (user)),
-                          home_dir);
- 
--                argv[0] = "/usr/sbin/usermod";
--                argv[1] = "-m";
--                argv[2] = "-d";
--                argv[3] = home_dir;
--                argv[4] = "--";
--                argv[5] = accounts_user_get_user_name (ACCOUNTS_USER (user));
--                argv[6] = NULL;
-+                argv[0] = "/usr/sbin/pw";
-+                argv[1] = "-d";
-+                argv[2] = home_dir;
-+                argv[3] = "-n";
-+                argv[4] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[5] = NULL;
- 
-                 if (!spawn_with_login_uid (context, argv, &error)) {
-                         throw_error (context, ERROR_FAILED, "running '%s' failed: %s", argv[0], error->message);
-@@ -1249,11 +1259,11 @@ user_change_shell_authorized_cb (Daemon               
-                          accounts_user_get_uid (ACCOUNTS_USER (user)),
-                          shell);
- 
--                argv[0] = "/usr/sbin/usermod";
--                argv[1] = "-s";
--                argv[2] = shell;
--                argv[3] = "--";
--                argv[4] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[0] = "/usr/sbin/pw";
-+                argv[1] = "usermod";
-+                argv[2] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[3] = "-s";
-+                argv[4] = shell;
-                 argv[5] = NULL;
- 
-                 if (!spawn_with_login_uid (context, argv, &error)) {
-@@ -1456,7 +1466,7 @@ user_change_locked_authorized_cb (Daemon              
- {
-         gboolean locked = GPOINTER_TO_INT (data);
-         g_autoptr(GError) error = NULL;
--        const gchar *argv[5];
-+        const gchar *argv[4];
- 
-         if (accounts_user_get_locked (ACCOUNTS_USER (user)) != locked) {
-                 sys_log (context,
-@@ -1464,11 +1474,10 @@ user_change_locked_authorized_cb (Daemon              
-                          locked ? "locking" : "unlocking",
-                          accounts_user_get_user_name (ACCOUNTS_USER (user)),
-                          accounts_user_get_uid (ACCOUNTS_USER (user)));
--                argv[0] = "/usr/sbin/usermod";
--                argv[1] = locked ? "-L" : "-U";
--                argv[2] = "--";
--                argv[3] = accounts_user_get_user_name (ACCOUNTS_USER (user));
--                argv[4] = NULL;
-+                argv[0] = "/usr/sbin/pw";
-+                argv[1] = locked ? "lock" : "unlock";
-+                argv[2] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[3] = NULL;
- 
-                 if (!spawn_with_login_uid (context, argv, &error)) {
-                         throw_error (context, ERROR_FAILED, "running '%s' failed: %s", argv[0], error->message);
-@@ -1589,11 +1598,11 @@ user_change_account_type_authorized_cb (Daemon        
- 
-                 g_free (groups);
- 
--                argv[0] = "/usr/sbin/usermod";
--                argv[1] = "-G";
--                argv[2] = str->str;
--                argv[3] = "--";
--                argv[4] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[0] = "/usr/sbin/pw";
-+                argv[1] = "usermod";
-+                argv[2] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                argv[3] = "-G";
-+                argv[4] = str->str;
-                 argv[5] = NULL;
- 
-                 if (!spawn_with_login_uid (context, argv, &error)) {
-@@ -1643,7 +1652,7 @@ user_change_password_mode_authorized_cb (Daemon       
- {
-         PasswordMode mode = GPOINTER_TO_INT (data);
-         g_autoptr(GError) error = NULL;
--        const gchar *argv[6];
-+        const gchar *argv[5];
- 
-         if (((PasswordMode) accounts_user_get_password_mode (ACCOUNTS_USER (user))) != mode) {
-                 sys_log (context,
-@@ -1658,10 +1667,8 @@ user_change_password_mode_authorized_cb (Daemon       
-                     mode == PASSWORD_MODE_NONE) {
- 
-                         argv[0] = "/usr/bin/passwd";
--                        argv[1] = "-d";
--                        argv[2] = "--";
--                        argv[3] = accounts_user_get_user_name (ACCOUNTS_USER (user));
--                        argv[4] = NULL;
-+                        argv[1] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                        argv[2] = NULL;
- 
-                         if (!spawn_with_login_uid (context, argv, &error)) {
-                                 throw_error (context, ERROR_FAILED, "running '%s' failed: %s", argv[0], error->message);
-@@ -1669,12 +1676,11 @@ user_change_password_mode_authorized_cb (Daemon       
-                         }
- 
-                         if (mode == PASSWORD_MODE_SET_AT_LOGIN) {
--                                argv[0] = "/usr/bin/chage";
--                                argv[1] = "-d";
-+                                argv[0] = "/usr/bin/chpass";
-+                                argv[1] = "-e";
-                                 argv[2] = "0";
--                                argv[3] = "--";
--                                argv[4] = accounts_user_get_user_name (ACCOUNTS_USER (user));
--                                argv[5] = NULL;
-+                                argv[3] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                                argv[4] = NULL;
- 
-                                 if (!spawn_with_login_uid (context, argv, &error)) {
-                                         throw_error (context, ERROR_FAILED, "running '%s' failed: %s", argv[0], error->message);
-@@ -1690,11 +1696,10 @@ user_change_password_mode_authorized_cb (Daemon       
-                         accounts_user_set_locked (ACCOUNTS_USER (user), FALSE);
-                 }
-                 else if (accounts_user_get_locked (ACCOUNTS_USER (user))) {
--                        argv[0] = "/usr/sbin/usermod";
--                        argv[1] = "-U";
--                        argv[2] = "--";
--                        argv[3] = accounts_user_get_user_name (ACCOUNTS_USER (user));
--                        argv[4] = NULL;
-+                        argv[0] = "/usr/sbin/pw";
-+                        argv[1] = "unlock";
-+                        argv[2] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+                        argv[3] = NULL;
- 
-                         if (!spawn_with_login_uid (context, argv, &error)) {
-                                 throw_error (context, ERROR_FAILED, "running '%s' failed: %s", argv[0], error->message);
-@@ -1759,7 +1764,7 @@ user_change_password_authorized_cb (Daemon            
- {
-         gchar **strings = data;
-         g_autoptr(GError) error = NULL;
--        const gchar *argv[6];
-+        const gchar *argv[5];
- 
-         sys_log (context,
-                  "set password and hint of user '%s' (%d)",
-@@ -1768,12 +1773,11 @@ user_change_password_authorized_cb (Daemon            
- 
-         g_object_freeze_notify (G_OBJECT (user));
- 
--        argv[0] = "/usr/sbin/usermod";
-+        argv[0] = "/usr/bin/chpass";
-         argv[1] = "-p";
-         argv[2] = strings[0];
--        argv[3] = "--";
--        argv[4] = accounts_user_get_user_name (ACCOUNTS_USER (user));
--        argv[5] = NULL;
-+        argv[3] = accounts_user_get_user_name (ACCOUNTS_USER (user));
-+        argv[4] = NULL;
- 
-         if (!spawn_with_login_uid (context, argv, &error)) {
-                 throw_error (context, ERROR_FAILED, "running '%s' failed: %s", argv[0], error->message);
diff --git a/sysutils/accountsservice/files/patch-src_user.h b/sysutils/accountsservice/files/patch-src_user.h
deleted file mode 100644
index fa8454f7518c..000000000000
--- a/sysutils/accountsservice/files/patch-src_user.h
+++ /dev/null
@@ -1,27 +0,0 @@
---- src/user.h.orig	2016-09-06 17:31:50 UTC
-+++ src/user.h
-@@ -22,7 +22,9 @@
- 
- #include <sys/types.h>
- #include <pwd.h>
-+#ifdef HAVE_SHADOW_H
- #include <shadow.h>
-+#endif
- 
- #include <glib.h>
- #include <gio/gio.h>
-@@ -54,9 +56,14 @@ GType          user_get_type                (void) G_G
- User *         user_new                     (Daemon        *daemon,
-                                              uid_t          uid);
- 
-+#ifdef HAVE_SHADOW_H
- void           user_update_from_pwent       (User          *user,
-                                              struct passwd *pwent,
-                                              struct spwd   *spent);
-+#else
-+void           user_update_from_pwent       (User          *user,
-+                                             struct passwd *pwent);
-+#endif
- void           user_update_from_keyfile     (User          *user,
-                                              GKeyFile      *keyfile);
- void           user_update_local_account_property (User          *user,
diff --git a/sysutils/accountsservice/files/patch-src_util.c b/sysutils/accountsservice/files/patch-src_util.c
deleted file mode 100644
index 079b7ba75b4b..000000000000
--- a/sysutils/accountsservice/files/patch-src_util.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/util.c.orig	2019-04-23 15:16:09 UTC
-+++ src/util.c
-@@ -254,7 +254,7 @@ get_user_groups (const gchar  *user,
-         *groups = g_new (gid_t, ngroups);
-         res = getgrouplist (user, group, *groups, &ngroups);
- 
--        return res;
-+        return res == 0 ? ngroups : res;
- }
- 
- 
diff --git a/sysutils/accountsservice/files/patch-src_wtmp-helper.h b/sysutils/accountsservice/files/patch-src_wtmp-helper.h
deleted file mode 100644
index ab14253510ac..000000000000
--- a/sysutils/accountsservice/files/patch-src_wtmp-helper.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/wtmp-helper.h.orig	2016-09-06 19:48:50 UTC
-+++ src/wtmp-helper.h
-@@ -23,7 +23,6 @@
- 
- #include <glib.h>
- #include <pwd.h>
--#include <shadow.h>
- 
- const gchar *           wtmp_helper_get_path_for_monitor                (void);
- void                    wtmp_helper_update_login_frequencies            (GHashTable *users);
diff --git a/sysutils/accountsservice/pkg-plist b/sysutils/accountsservice/pkg-plist
index c9b64a57e942..fd029358fc1b 100644
--- a/sysutils/accountsservice/pkg-plist
+++ b/sysutils/accountsservice/pkg-plist
@@ -1,4 +1,3 @@
-etc/dbus-1/system.d/org.freedesktop.Accounts.conf
 include/accountsservice-1.0/act/act-user-enum-types.h
 include/accountsservice-1.0/act/act-user-manager.h
 include/accountsservice-1.0/act/act-user.h
@@ -9,9 +8,12 @@ lib/libaccountsservice.so.0
 lib/libaccountsservice.so.0.0.0
 libdata/pkgconfig/accountsservice.pc
 libexec/accounts-daemon
+%%DATADIR%%/user-templates/administrator
+%%DATADIR%%/user-templates/standard
 share/dbus-1/interfaces/org.freedesktop.Accounts.User.xml
 share/dbus-1/interfaces/org.freedesktop.Accounts.xml
 share/dbus-1/system-services/org.freedesktop.Accounts.service
+share/dbus-1/system.d/org.freedesktop.Accounts.conf
 share/gir-1.0/AccountsService-1.0.gir
 share/locale/af/LC_MESSAGES/accounts-service.mo
 share/locale/ar/LC_MESSAGES/accounts-service.mo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308131136.37DBaBj8035423>