From 499e264f28646d209ef37859afedf9ba57752182 Mon Sep 17 00:00:00 2001 From: peijiankang Date: Tue, 14 Mar 2023 15:24:16 +0800 Subject: [PATCH] delete biometric-authenticationd SingleInstance (cherry picked from commit 056924d64f31255c292e0422aacaa593b41cd09e) --- ...etric-authenticationd-SingleInstance.patch | 102 ++++++++++++++++++ biometric-authentication.spec | 38 +++++-- 2 files changed, 133 insertions(+), 7 deletions(-) create mode 100644 0002-delete-biometric-authenticationd-SingleInstance.patch diff --git a/0002-delete-biometric-authenticationd-SingleInstance.patch b/0002-delete-biometric-authenticationd-SingleInstance.patch new file mode 100644 index 0000000..2d11b1f --- /dev/null +++ b/0002-delete-biometric-authenticationd-SingleInstance.patch @@ -0,0 +1,102 @@ +From 1b8571add42dfb84637a14032a8d0f1d5dd0e595 Mon Sep 17 00:00:00 2001 +From: peijiankang +Date: Tue, 14 Mar 2023 15:15:39 +0800 +Subject: [PATCH] delete biometric-authenticationd SingleInstance + +--- + src/biometric-authenticationd.c | 47 --------------------------------- + src/biometric-authenticationd.h | 7 ----- + 2 files changed, 54 deletions(-) + +diff --git a/src/biometric-authenticationd.c b/src/biometric-authenticationd.c +index 240f03f..4a6fb39 100644 +--- a/src/biometric-authenticationd.c ++++ b/src/biometric-authenticationd.c +@@ -1598,11 +1598,6 @@ int main() + int i = 0; + int ret = 0; + int uid = getuid(); +- int pid = getpid(); +- char * pid_dir_list[PID_DIR_NUM] = {PID_DIR_0, PID_DIR_1}; +- char * pid_dir = NULL; +- char pid_file[MAX_PATH_LEN] = {0}; +- char pid_string[MAX_PID_STRING_LEN] = {0}; + + if (uid != 0) + { +@@ -1611,45 +1606,6 @@ int main() + return -1; + } + +- for (i = 0; i < PID_DIR_NUM; i++) +- { +- struct stat dir_stat; +- +- if (access(pid_dir_list[i], F_OK) == 0) { +- stat(pid_dir_list[i], &dir_stat); +- if (S_ISDIR(dir_stat.st_mode)) { +- pid_dir = pid_dir_list[i]; +- break; +- } +- } +- } +- if (pid_dir == NULL) +- pid_dir = "/"; +- +- snprintf(pid_file, MAX_PATH_LEN, "%s/%s.pid", pid_dir, AUTH_SERVER_NAME); +- int pid_file_fd = open(pid_file, O_CREAT | O_TRUNC | O_RDWR, 0644); +- if (pid_file_fd < 0) +- { +- bio_print_error(_("Can not open PID file: %s\n"), pid_file); +- return -1; +- } +- +- ret = flock(pid_file_fd, LOCK_EX | LOCK_NB); +- if (ret < 0) +- { +- bio_print_error(_("Biometric authentication server is running, " +- "Do not restart it repeatedly\n")); +- return -1; +- } +- +- snprintf(pid_string, MAX_PID_STRING_LEN, "%d\n", pid); +- ret = write(pid_file_fd, pid_string, strlen(pid_string)); +- if (ret != strlen(pid_string)) +- { +- bio_print_warning(_("There is an exception to write PID file: %s\n"), +- pid_file); +- } +- + setlocale (LC_ALL, ""); + bindtextdomain(DOMAIN_NAME, LOCALEDIR); + textdomain(DOMAIN_NAME); +@@ -1689,8 +1645,5 @@ int main() + + UnInitBioDevice(); + +- flock(pid_file_fd, LOCK_UN); +- close(pid_file_fd); +- + return 0; + } +diff --git a/src/biometric-authenticationd.h b/src/biometric-authenticationd.h +index 6baa73b..77a6848 100644 +--- a/src/biometric-authenticationd.h ++++ b/src/biometric-authenticationd.h +@@ -29,13 +29,6 @@ + #include "biometric-generated.h" + #include "dbus_comm.h" + +-#define PID_DIR_NUM 2 +-#define PID_DIR_0 "/run/user/0/" +-#define PID_DIR_1 "/tmp/" +- +-#define AUTH_SERVER_NAME "biometric-authentication" +-#define MAX_PID_STRING_LEN 64 +- + #define SIGNAL_DEV_CHANGED STATUS_TYPE_DEVICE + #define SIGNAL_OPS_CHANGED STATUS_TYPE_OPERATION + #define SIGNAL_NOTIFY_CHANGED STATUS_TYPE_NOTIFY +-- +2.39.1 + diff --git a/biometric-authentication.spec b/biometric-authentication.spec index b742ee3..b4e83d2 100644 --- a/biometric-authentication.spec +++ b/biometric-authentication.spec @@ -1,11 +1,22 @@ Name: biometric-authentication Version: 0.9.72 -Release: 7 +Release: 8 Summary: biometric-authentication License: LGPL-3.0 URL: http://www.ukui.org Source0: %{name}-%{version}.tar.gz Patch01: 0001-add-getenv.patch +Patch02: 0002-delete-biometric-authenticationd-SingleInstance.patch + +%ifarch x86_64 +%global platform x86_64 +%endif +%ifarch aarch64 +%global platform aarch64 +%endif +%ifarch riscv64 +%global platform riscv64 +%endif BuildRequires: python3 BuildRequires: automake @@ -80,11 +91,12 @@ Biometric Identification library %prep %setup -q %patch01 -p1 +%patch02 -p1 %build export prefix=/usr ./autogen.sh -./configure \ +./configure --build=%{platform}-linux-gnu \ --prefix=/usr \ --includedir=\${prefix}/include \ --mandir=\${prefix}/share/man \ @@ -92,7 +104,8 @@ export prefix=/usr --sysconfdir=/etc \ --localstatedir=/var \ --disable-silent-rules \ - --libdir=\${prefix}/lib64 \ + --libdir=\${prefix}/lib/%{platform}-linux-gnu \ + --libexecdir=\${prefix}/lib/%{platform}-linux-gnu \ --disable-dependency-tracking \ --enable-static \ --enable-shared \ @@ -103,7 +116,7 @@ export prefix=/usr --with-bio-extra-dir=/usr/lib/biometric-authentication/drivers/extra \ --libexecdir=\${prefix}/lib/biometric-authentication -make -j4 +%{make_build} %install rm -rf $RPM_BUILD_ROOT @@ -112,9 +125,17 @@ make install DESTDIR=%{buildroot} chrpath -d %{buildroot}/usr/lib/biometric-authentication/biometric-authenticationd chrpath -d %{buildroot}/usr/lib/biometric-authentication/drivers/*.so +touch %{name}-%{platform}.conf +echo "%{_prefix}/lib/%{platform}-linux-gnu" >> %{name}-%{platform}.conf +mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d +install -p -m644 %{name}-%{platform}.conf $RPM_BUILD_ROOT/etc/ld.so.conf.d/ + %clean rm -rf $RPM_BUILD_ROOT +%posttrans +%ldconfig_scriptlets + %files %files -n biometric-auth %{_sysconfdir}/dbus-1/system.d/org.ukui.Biometric.conf @@ -156,12 +177,15 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/locale/pt/LC_MESSAGES/biometric-authentication.mo %{_datadir}/locale/ru/LC_MESSAGES/biometric-authentication.mo %{_datadir}/locale/zh_CN/LC_MESSAGES/biometric-authentication.mo -%{_libdir}/libbiometric.* -%{_libdir}/pkgconfig/libbiometric.pc - +%{_prefix}/lib/%{platform}-linux-gnu/libbiometric.* +%{_prefix}/lib/%{platform}-linux-gnu/pkgconfig/libbiometric.pc +%{_sysconfdir}/ld.so.conf.d/%{name}-%{platform}.conf %changelog +* Tue Mar 14 2023 peijiankang - 0.9.72-8 +- delete biometric-authenticationd SingleInstance + * Tue Mar 07 2023 peijiankang - 0.9.72-7 - fix biometric-authentication service start error