Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package plocate for openSUSE:Factory checked in at 2026-02-12 17:30:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plocate (Old) and /work/SRC/openSUSE:Factory/.plocate.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plocate" Thu Feb 12 17:30:31 2026 rev:6 rq:1332712 version:1.1.24 Changes: -------- --- /work/SRC/openSUSE:Factory/plocate/plocate.changes 2025-02-28 17:41:56.515153329 +0100 +++ /work/SRC/openSUSE:Factory/.plocate.new.1977/plocate.changes 2026-02-12 17:30:35.595498882 +0100 @@ -1,0 +2,13 @@ +Sun Jan 25 17:12:44 UTC 2026 - Manfred Schwarb <[email protected]> + +- spec file: add %attr statement to %ghost declaration to placate rpmlint +- remove patch disable-visibility.patch and provide the same functionality + by invoking updatedb with "--require-visibility 0" and subsequent + invocation of "chmod 644" to gain flexibility for different usage patterns + Additionally, database is now owned by root, as nobody should not own any files. +- update to version 1.1.24: + * Improve error handling on synchronous reads + * Remove ConditionACPower=true from the systemd unit file + * Add a new option --config-file for changing the path of updatedb.conf + +------------------------------------------------------------------- Old: ---- disable-visibility.patch plocate-1.1.23.tar.gz New: ---- plocate-1.1.24.tar.gz ----------(Old B)---------- Old:- spec file: add %attr statement to %ghost declaration to placate rpmlint - remove patch disable-visibility.patch and provide the same functionality by invoking updatedb with "--require-visibility 0" and subsequent ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plocate.spec ++++++ --- /var/tmp/diff_new_pack.kqlXfQ/_old 2026-02-12 17:30:36.835551424 +0100 +++ /var/tmp/diff_new_pack.kqlXfQ/_new 2026-02-12 17:30:36.839551593 +0100 @@ -1,7 +1,7 @@ # # spec file for package plocate # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %bcond_without apparmor Name: plocate -Version: 1.1.23 +Version: 1.1.24 Release: 0 Summary: A much faster locate(1) License: GPL-2.0-only @@ -33,7 +33,6 @@ Source5: usr.bin.plocate Source6: usr.sbin.updatedb %endif -Patch0: disable-visibility.patch BuildRequires: gcc-c++ BuildRequires: meson BuildRequires: pkgconfig @@ -126,7 +125,7 @@ %{_fillupdir}/sysconfig.locate %dir %{_sharedstatedir}/%{name}/ %{_sharedstatedir}/%{name}/CACHEDIR.TAG -%ghost %{_sharedstatedir}/%{name}/%{name}.db +%ghost %attr(0644,root,root) %{_sharedstatedir}/%{name}/%{name}.db %config(noreplace) %{_sysconfdir}/updatedb.conf %if %{with apparmor} ++++++ plocate-1.1.23.tar.gz -> plocate-1.1.24.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/NEWS new/plocate-1.1.24/NEWS --- old/plocate-1.1.23/NEWS 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/NEWS 2026-01-13 23:48:22.000000000 +0100 @@ -1,3 +1,16 @@ +plocate 1.1.24, January 13th, 2026 + + - Improve error handling on synchronous reads. Reported by + Björn Försterling. + + - Remove ConditionACPower=true from the systemd unit file, + to fix an issue where certain charging patterns prevent + updatedb from ever running on laptops. Patch by Manfred Schwarb. + + - Add a new option --config-file for changing the path of + updatedb.conf. Patch by Yehuda Bernáth. + + plocate 1.1.23, November 24th, 2024 - Various improvements, in particular to the systemd unit file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/complete_pread.cpp new/plocate-1.1.24/complete_pread.cpp --- old/plocate-1.1.23/complete_pread.cpp 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/complete_pread.cpp 2026-01-13 23:48:22.000000000 +0100 @@ -10,6 +10,10 @@ if (ret == -1 && errno == EINTR) { continue; } + if (ret == 0) { + errno = 0; + return false; + } if (ret <= 0) { return false; } @@ -20,13 +24,13 @@ return true; } -void complete_pread(int fd, void *ptr, size_t len, off_t offset) +void complete_pread(int fd, void *ptr, size_t len, off_t offset, const char *filename_for_errors) { if (!try_complete_pread(fd, ptr, len, offset)) { if (errno == 0) { - fprintf(stderr, "pread: Short read (file corrupted?)\n"); + fprintf(stderr, "%s: Short read (file corrupted?)\n", filename_for_errors); } else { - perror("pread"); + perror(filename_for_errors); } exit(1); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/complete_pread.h new/plocate-1.1.24/complete_pread.h --- old/plocate-1.1.23/complete_pread.h 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/complete_pread.h 2026-01-13 23:48:22.000000000 +0100 @@ -8,6 +8,6 @@ bool try_complete_pread(int fd, void *ptr, size_t len, off_t offset); // Same, but exit on failure, so never returns a short read. -void complete_pread(int fd, void *ptr, size_t len, off_t offset); +void complete_pread(int fd, void *ptr, size_t len, off_t offset, const char *filename_for_errors); #endif // !defined(COMPLETE_PREAD_H) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/conf.cpp new/plocate-1.1.24/conf.cpp --- old/plocate-1.1.23/conf.cpp 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/conf.cpp 2026-01-13 23:48:22.000000000 +0100 @@ -68,6 +68,9 @@ /* Configuration representation for the database configuration block */ string conf_block; +/* Custom configuration file path, or NULL to use default */ +const char *conf_config_file = NULL; + int conf_block_size = 32; bool use_debug = false; @@ -117,10 +120,12 @@ list->erase(new_end, list->end()); } -/* UPDATEDB_CONF parsing */ +/* Configuration file parsing */ -/* UPDATEDB_CONF (locked) */ +/* Configuration file (locked) */ static FILE *uc_file; +/* Configuration file path */ +static const char *uc_file_path; /* Line number at token start; type matches error_at_line () */ static unsigned uc_line; /* Current line number; type matches error_at_line () */ @@ -175,7 +180,7 @@ while ((c = getc_unlocked(uc_file)) != '"') { if (c == EOF || c == '\n') { fprintf(stderr, "%s:%u: missing closing `\"'\n", - UPDATEDB_CONF, uc_line); + uc_file_path, uc_line); exit(EXIT_FAILURE); } uc_lex_buf.push_back(c); @@ -204,18 +209,19 @@ } } -/* Parse /etc/updatedb.conf. Exit on I/O or syntax error. */ +/* Parse configuration file. Exit on I/O or syntax error. */ static void parse_updatedb_conf(void) { bool had_prune_bind_mounts, had_prunefs, had_prunenames, had_prunepaths; - uc_file = fopen(UPDATEDB_CONF, "r"); + uc_file_path = conf_config_file ? conf_config_file : UPDATEDB_CONF; + uc_file = fopen(uc_file_path, "r"); if (uc_file == NULL) { - if (errno != ENOENT) { - perror(UPDATEDB_CONF); + if (errno != ENOENT || conf_config_file != NULL) { + perror(uc_file_path); exit(EXIT_FAILURE); - } + } return; } flockfile(uc_file); @@ -254,17 +260,17 @@ case UCT_IDENTIFIER: fprintf(stderr, "%s:%u: unknown variable: `%s'\n", - UPDATEDB_CONF, uc_line, uc_lex_buf.c_str()); + uc_file_path, uc_line, uc_lex_buf.c_str()); exit(EXIT_FAILURE); default: fprintf(stderr, "%s:%u: variable name expected\n", - UPDATEDB_CONF, uc_line); + uc_file_path, uc_line); exit(EXIT_FAILURE); } if (*had_var != false) { fprintf(stderr, "%s:%u: variable `%s' was already defined\n", - UPDATEDB_CONF, uc_line, uc_lex_buf.c_str()); + uc_file_path, uc_line, uc_lex_buf.c_str()); exit(EXIT_FAILURE); } *had_var = true; @@ -272,19 +278,19 @@ token = uc_lex(); if (token != UCT_EQUAL) { fprintf(stderr, "%s:%u: `=' expected after variable name\n", - UPDATEDB_CONF, uc_line); + uc_file_path, uc_line); exit(EXIT_FAILURE); } token = uc_lex(); if (token != UCT_QUOTED) { fprintf(stderr, "%s:%u: value in quotes expected after `='\n", - UPDATEDB_CONF, uc_line); + uc_file_path, uc_line); exit(EXIT_FAILURE); } if (var_token == UCT_PRUNE_BIND_MOUNTS) { if (parse_bool(&conf_prune_bind_mounts, uc_lex_buf.c_str()) != 0) { fprintf(stderr, "%s:%u: invalid value `%s' of PRUNE_BIND_MOUNTS\n", - UPDATEDB_CONF, uc_line, uc_lex_buf.c_str()); + uc_file_path, uc_line, uc_lex_buf.c_str()); exit(EXIT_FAILURE); } } else if (var_token == UCT_PRUNEFS) @@ -298,7 +304,7 @@ token = uc_lex(); if (token != UCT_EOL && token != UCT_EOF) { fprintf(stderr, "%s:%u: unexpected data after variable value\n", - UPDATEDB_CONF, uc_line); + uc_file_path, uc_line); exit(EXIT_FAILURE); } /* Fall through */ @@ -310,7 +316,7 @@ } eof: if (ferror(uc_file)) { - perror(UPDATEDB_CONF); + perror(uc_file_path); exit(EXIT_FAILURE); } funlockfile(uc_file); @@ -337,6 +343,7 @@ " `%s')\n" " -b, --block-size SIZE number of filenames to store\n" " in each block (default 32)\n" + " --config-file FILE configuration file (default `%s')\n" " --prune-bind-mounts FLAG omit bind mounts (default " "\"no\")\n" " --prunefs FS filesystems to omit from " @@ -351,9 +358,9 @@ "are found\n" " -V, --version print version information\n" "\n" - "The configuration defaults to values read from\n" - "`%s'.\n", - DBFILE, UPDATEDB_CONF); + "The configuration defaults to values read from `%s',\n" + "or from a file specified with --config-file.\n", + DBFILE, UPDATEDB_CONF, UPDATEDB_CONF); printf("\n" "Report bugs to %s.\n", PACKAGE_BUGREPORT); @@ -379,34 +386,74 @@ return buf + '/' + path; } -/* Parse ARGC, ARGV. Exit on error or --help, --version. */ +/* Command line options definitions, shared by parse_initial_arguments and parse_arguments */ +enum { OPT_DEBUG_PRUNING = CHAR_MAX + 1, + OPT_ADD_SINGLE_PRUNEPATH = CHAR_MAX + 2, + OPT_CONFIG_FILE = CHAR_MAX + 3 }; + +static const struct option options[] = { + { "add-prunefs", required_argument, NULL, 'f' }, + { "add-prunenames", required_argument, NULL, 'n' }, + { "add-prunepaths", required_argument, NULL, 'e' }, + { "add-single-prunepath", required_argument, NULL, OPT_ADD_SINGLE_PRUNEPATH }, + { "config-file", required_argument, NULL, OPT_CONFIG_FILE }, + { "database-root", required_argument, NULL, 'U' }, + { "debug-pruning", no_argument, NULL, OPT_DEBUG_PRUNING }, + { "help", no_argument, NULL, 'h' }, + { "output", required_argument, NULL, 'o' }, + { "prune-bind-mounts", required_argument, NULL, 'B' }, + { "prunefs", required_argument, NULL, 'F' }, + { "prunenames", required_argument, NULL, 'N' }, + { "prunepaths", required_argument, NULL, 'P' }, + { "require-visibility", required_argument, NULL, 'l' }, + { "verbose", no_argument, NULL, 'v' }, + { "version", no_argument, NULL, 'V' }, + { "block-size", required_argument, 0, 'b' }, + { "debug", no_argument, 0, 'D' }, // Not documented. + { NULL, 0, NULL, 0 } +}; + +static auto short_options = "U:Ve:f:hl:n:o:vb:D"; + +/* Parse ARGC, ARGV for options that need to be processed before config file parsing. */ static void -parse_arguments(int argc, char *argv[]) +parse_initial_arguments(int argc, char *argv[]) { - enum { OPT_DEBUG_PRUNING = CHAR_MAX + 1, - OPT_ADD_SINGLE_PRUNEPATH = CHAR_MAX + 2 }; + for (;;) { + int idx; + auto opt = getopt_long(argc, argv, short_options, options, &idx); + switch (opt) { + case -1: + goto options_done; + + case '?': + exit(EXIT_FAILURE); - static const struct option options[] = { - { "add-prunefs", required_argument, NULL, 'f' }, - { "add-prunenames", required_argument, NULL, 'n' }, - { "add-prunepaths", required_argument, NULL, 'e' }, - { "add-single-prunepath", required_argument, NULL, OPT_ADD_SINGLE_PRUNEPATH }, - { "database-root", required_argument, NULL, 'U' }, - { "debug-pruning", no_argument, NULL, OPT_DEBUG_PRUNING }, - { "help", no_argument, NULL, 'h' }, - { "output", required_argument, NULL, 'o' }, - { "prune-bind-mounts", required_argument, NULL, 'B' }, - { "prunefs", required_argument, NULL, 'F' }, - { "prunenames", required_argument, NULL, 'N' }, - { "prunepaths", required_argument, NULL, 'P' }, - { "require-visibility", required_argument, NULL, 'l' }, - { "verbose", no_argument, NULL, 'v' }, - { "version", no_argument, NULL, 'V' }, - { "block-size", required_argument, 0, 'b' }, - { "debug", no_argument, 0, 'D' }, // Not documented. - { NULL, 0, NULL, 0 } - }; + case OPT_CONFIG_FILE: + if (conf_config_file != NULL) { + fprintf(stderr, "%s: --%s specified twice\n", + program_invocation_name, "config-file"); + exit(EXIT_FAILURE); + } + conf_config_file = optarg; + break; + default: + break; // Ignore other options + } + } +options_done: + if (optind != argc) { + fprintf(stderr, "%s: unexpected operand on command line", + program_invocation_name); + exit(EXIT_FAILURE); + } +} + +/* Parse ARGC, ARGV. Exit on error or --help, --version. */ +static void +parse_arguments(int argc, char *argv[]) +{ bool prunefs_changed, prunenames_changed, prunepaths_changed; bool got_prune_bind_mounts, got_visibility; @@ -415,10 +462,12 @@ prunepaths_changed = false; got_prune_bind_mounts = false; got_visibility = false; + + optind = 1; // Reset for second pass for (;;) { int opt, idx; - opt = getopt_long(argc, argv, "U:Ve:f:hl:n:o:vb:D", options, &idx); + opt = getopt_long(argc, argv, short_options, options, &idx); switch (opt) { case -1: goto options_done; @@ -560,6 +609,9 @@ conf_debug_pruning = true; break; + case OPT_CONFIG_FILE: + break; // Was handled in parse_initial_arguments + default: abort(); } @@ -621,6 +673,7 @@ Exit on error or --help, --version. */ void conf_prepare(int argc, char *argv[]) { + parse_initial_arguments(argc, argv); parse_updatedb_conf(); parse_arguments(argc, argv); for (string &str : conf_prunefs) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/conf.h new/plocate-1.1.24/conf.h --- old/plocate-1.1.23/conf.h 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/conf.h 2026-01-13 23:48:22.000000000 +0100 @@ -58,6 +58,9 @@ /* Configuration representation for the database configuration block */ extern std::string conf_block; +/* Custom configuration file path, or NULL to use default */ +extern const char *conf_config_file; + /* Parse /etc/updatedb.conf and command-line arguments ARGC, ARGV. Exit on error or --help, --version. */ extern void conf_prepare(int argc, char *argv[]); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/io_uring_engine.cpp new/plocate-1.1.24/io_uring_engine.cpp --- old/plocate-1.1.23/io_uring_engine.cpp 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/io_uring_engine.cpp 2026-01-13 23:48:22.000000000 +0100 @@ -70,10 +70,11 @@ void IOUringEngine::submit_read(int fd, size_t len, off_t offset, function<void(string_view)> cb) { if (!using_uring) { - // Synchronous read. + // Synchronous read. We don't bother trying to track + // filenames through errors here, since they should be rare. string s; s.resize(len + slop_bytes); - complete_pread(fd, &s[0], len, offset); + complete_pread(fd, &s[0], len, offset, "sync read failed"); cb(string_view(s.data(), len)); return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/meson.build new/plocate-1.1.24/meson.build --- old/plocate-1.1.23/meson.build 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/meson.build 2026-01-13 23:48:22.000000000 +0100 @@ -1,4 +1,4 @@ -project('plocate', 'cpp', default_options: ['buildtype=debugoptimized','cpp_std=c++17'], version: '1.1.23') +project('plocate', 'cpp', default_options: ['buildtype=debugoptimized','cpp_std=c++17'], version: '1.1.24') add_project_arguments('-DGROUPNAME="' + get_option('locategroup') + '"', language: 'cpp') add_project_arguments('-DUPDATEDB_CONF="/etc/updatedb.conf"', language: 'cpp') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/plocate-updatedb.service.in new/plocate-1.1.24/plocate-updatedb.service.in --- old/plocate-1.1.23/plocate-updatedb.service.in 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/plocate-updatedb.service.in 2026-01-13 23:48:22.000000000 +0100 @@ -1,6 +1,5 @@ [Unit] Description=Update the plocate database -ConditionACPower=true [Service] Type=oneshot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/plocate.cpp new/plocate-1.1.24/plocate.cpp --- old/plocate-1.1.23/plocate.cpp 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/plocate.cpp 2026-01-13 23:48:22.000000000 +0100 @@ -97,7 +97,7 @@ posix_fadvise(fd, 0, len, POSIX_FADV_DONTNEED); } - complete_pread(fd, &hdr, sizeof(hdr), /*offset=*/0); + complete_pread(fd, &hdr, sizeof(hdr), /*offset=*/0, filename_for_errors); if (memcmp(hdr.magic, "\0plocate", 8) != 0) { fprintf(stderr, "%s: database is corrupt or not a plocate database; please rebuild it.\n", filename_for_errors); exit(1); @@ -325,14 +325,14 @@ // we will primarily be CPU-bound, we'll be firing up one // worker thread for each spare core (the last one will // only be doing I/O). access() is still synchronous. -uint64_t scan_all_docids(const vector<Needle> &needles, int fd, const Corpus &corpus) +uint64_t scan_all_docids(const vector<Needle> &needles, int fd, const Corpus &corpus, const char *filename_for_errors) { { const Header &hdr = corpus.get_hdr(); if (hdr.zstd_dictionary_length_bytes > 0) { string dictionary; dictionary.resize(hdr.zstd_dictionary_length_bytes); - complete_pread(fd, &dictionary[0], hdr.zstd_dictionary_length_bytes, hdr.zstd_dictionary_offset_bytes); + complete_pread(fd, &dictionary[0], hdr.zstd_dictionary_length_bytes, hdr.zstd_dictionary_offset_bytes, filename_for_errors); ddict = ZSTD_createDDict(dictionary.data(), dictionary.size()); } } @@ -341,7 +341,7 @@ Serializer serializer; uint32_t num_blocks = corpus.get_num_filename_blocks(); unique_ptr<uint64_t[]> offsets(new uint64_t[num_blocks + 1]); - complete_pread(fd, offsets.get(), (num_blocks + 1) * sizeof(uint64_t), corpus.offset_for_block(0)); + complete_pread(fd, offsets.get(), (num_blocks + 1) * sizeof(uint64_t), corpus.offset_for_block(0), filename_for_errors); atomic<uint64_t> matched{ 0 }; mutex mu; @@ -398,7 +398,7 @@ if (compressed.size() < io_len) { compressed.resize(io_len); } - complete_pread(fd, &compressed[0], io_len, offsets[io_docid]); + complete_pread(fd, &compressed[0], io_len, offsets[io_docid], filename_for_errors); { unique_lock lock(mu); @@ -532,7 +532,7 @@ // (We could have searched through all trigrams that matched // the pattern and done a union of them, but that's a lot of // work for fairly unclear gain.) - uint64_t matched = scan_all_docids(needles, fd, corpus); + uint64_t matched = scan_all_docids(needles, fd, corpus, filename.c_str()); dprintf("Done in %.1f ms, found %" PRId64 " matches.\n", 1e3 * duration<float>(steady_clock::now() - start).count(), matched); close(fd); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plocate-1.1.23/updatedb.8.in new/plocate-1.1.24/updatedb.8.in --- old/plocate-1.1.23/updatedb.8.in 2024-11-24 23:14:30.000000000 +0100 +++ new/plocate-1.1.24/updatedb.8.in 2026-01-13 23:48:22.000000000 +0100 @@ -94,6 +94,15 @@ instead of using the default database. .TP +\fB\-\-config-file\fR \fIFILE\fR +Read configuration from \fIFILE\fR instead of the default configuration file. +Command-line options still override settings from the file. + +See +.BR updatedb.conf (5) +for the configuration file format. + +.TP \fB\-\-prune\-bind\-mounts\fR \fIFLAG\fR Set .B PRUNE_BIND_MOUNTS @@ -177,7 +186,7 @@ .SH FILES .TP \fB@updatedb_conf@\fR -A configuration file. See +The default configuration file. See .BR updatedb.conf (5). Uses exactly the same format as the one used by .BR mlocate (1)'s ++++++ plocate-updatedb.service ++++++ --- /var/tmp/diff_new_pack.kqlXfQ/_old 2026-02-12 17:30:37.067561254 +0100 +++ /var/tmp/diff_new_pack.kqlXfQ/_new 2026-02-12 17:30:37.071561424 +0100 @@ -29,7 +29,10 @@ Type=oneshot ExecStart=/bin/sh -c \ "chown -R ${RUN_UPDATEDB_AS}:root /var/lib/plocate && \ - su --shell=/bin/sh ${RUN_UPDATEDB_AS} -c 'umask 0022; /usr/sbin/updatedb'" + su --shell=/bin/sh ${RUN_UPDATEDB_AS} -c \ + 'umask 0022; /usr/sbin/updatedb --require-visibility 0'; \ + chown -R root:root /var/lib/plocate; \ + chmod 0644 /var/lib/plocate/plocate.db" # Unfortunately, the umask we set here is lost because we invoke updatedb # through 'su' to change to the user ${RUN_UPDATEDB_AS}. See bnc#941296 and ++++++ updatedb.conf ++++++ --- /var/tmp/diff_new_pack.kqlXfQ/_old 2026-02-12 17:30:37.131563966 +0100 +++ /var/tmp/diff_new_pack.kqlXfQ/_new 2026-02-12 17:30:37.135564136 +0100 @@ -10,7 +10,7 @@ PRUNEPATHS="/tmp /var/tmp /var/cache /var/lock /var/run /var/spool /mnt /cdrom /usr/tmp /proc /media /sys /.snapshots /var/run/media" # Folder names that are pruned from updatedb database -PRUNENAMES = ".git .hg .svn .bzr .arch-ids {arch} CVS" +PRUNENAMES=".git .hg .svn .bzr .arch-ids {arch} CVS" # Skip bind mounts # DISABLED for bnc#994663 (probably still valid for plocate?)
