summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'wip/carlosg/notifier-improvements' into 'master'HEADmasterCarlos Garnacho2023-05-153-48/+89
|\ | | | | | | | | TrackerNotifier improvements See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/591
| * libtracker-sparql: Take TrackerNotifier weak ref when emitting eventsCarlos Garnacho2023-05-151-10/+25
| | | | | | | | | | Avoid keeping a hard ref while notifier events are being dispatched, this makes the TrackerNotifier lifetime completely in control of the user.
| * libtracker-sparql: Keep statement in cache event structCarlos Garnacho2023-05-151-21/+26
| | | | | | | | Instead of figuring out from the subscription later on.
| * libtracker-sparql: Pass service through TrackerNotifier event cache structCarlos Garnacho2023-05-151-19/+15
| | | | | | | | | | Figure the service IRI early on cache struct creation, so we do not need to rely on subscription+notifier to create it afterwards.
| * libtracker-sparql: Pass cancellable through notifier event cache structCarlos Garnacho2023-05-151-5/+9
| | | | | | | | | | Avoid poking the notifier for this, passing the cancellable for async operations with the cache struct itself.
| * libtracker-sparql: Pass TrackerNotifier explicitly when flushing eventsCarlos Garnacho2023-05-153-5/+6
| | | | | | | | | | Try to decouple the dependency on cache->notifier in code. This is a good start.
| * libtracker-sparql: Check cancellable more often in TrackerNotifierCarlos Garnacho2023-05-151-1/+7
| | | | | | | | | | | | | | | | While handling the URN query cursor, we did not check the cancellable and went all through with it, even if TrackerNotifier finalization paths might have cancelled the task. This could not happen in practice since the cache struct takes a reference on the TrackerNotifier, but will happen with future commits.
| * libtracker-sparql: Improve threading guarantees of TrackerNotifierCarlos Garnacho2023-05-151-4/+18
|/ | | | | | | | | | | | Make the TrackerNotifier::events signal ensured to be emitted in the same main context that created the TrackerNotifier. This is coherent with other threaded objects that have communication through signals (e.g. GDBusProxy). Notably, it is already expected to behave this way in tracker-miners. Since the tracker-miner-fs-3 D-Bus endpoint is managed on a distinct context/thread that should also handle the proxying of notifier events without involvement of the main thread/context.
* Update Italian translationGianvito Cavasoli2023-05-141-84/+101
|
* Merge branch 'gmtime_r' into 'master'Carlos Garnacho2023-05-141-0/+1
|\ | | | | | | | | build: Define _GNU_SOURCE for gmtime_r See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/596
| * build: Define _GNU_SOURCE for gmtime_rBrahmajit Das2023-05-141-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | Found while building tracker 3.5.2 with clang 16, which enable Wimplicit-function-declaration by default. Without _GNU_SOURCE defined, tracker would fail in the configure phase with Checking if "strftime 4-digit year modifier" runs: DID NOT COMPILE error. And investigating the meson log we see Compiler stderr: /var/tmp/portage/app-misc/tracker-3.5.2/work/tracker-3.5.2-build/meson-private/tmplr2vm6b0/testfile.c:12:5: error: call to undeclared function 'gmtime_r'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] gmtime_r (&timestamp, &tm); And a little further up Command line: clang /var/tmp/portage/app-misc/tracker-3.5.2/work/tracker-3.5.2-build/meson-private/tmplr2vm6b0/testfile.c -o /var/tmp/portage/app-misc/tracker-3.5.2/work/tracker-3.5.2-build/meson-private/tmplr2vm6b0/output.exe -O2 -pipe -march=native -DTRACKER_DEBUG -DG_DISABLE_CAST_CHECKS -D_FILE_OFFSET_BITS=64 -O0 -Werror=implicit-function-declaration -std=c99 -Wl,-O1 -Wl,--as-needed -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed Seems like cc.run() doesn't pick up the general compiler args we set earlier. We have already set it for the main build, so adding it just for the configure test should be fine. Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
* Release 3.5.23.5.2tracker-3.5Carlos Garnacho2023-05-132-1/+8
|
* bus: Plug leakCarlos Garnacho2023-05-131-1/+1
| | | | | | Parameters bound to a bus TrackerSparqlStatement would be leaked on statement execution. The GVariants are already owned by the hashtable.
* Merge branch 'wip/carlosg/strftime-format-detection' into 'master'Carlos Garnacho2023-05-123-2/+40
|\ | | | | | | | | | | | | build: Detect appropriate strftime() year modifier at build time Closes #402 See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/593
| * build: Detect appropriate strftime() year modifier at build timeCarlos Garnacho2023-05-023-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Different libc implementations (or different platforms) have different bugs. Even though %Y is documented as a 4-digit number, and %C as year/100 in a [00-99] range, they both crap out with years under 1000, using respectively 3 and 1 digits. This would be typically task for a width modifier (e.g. %4Y, or %2C), but that was conversely found to break NixOS on Darwin. Since the existing libc bugs paint us to a corner, detect an appropriate modifier at build time to get a 4-digit year to get true ISO 8601 in our supported [0001-9999] year range. Closes: https://gitlab.gnome.org/GNOME/tracker/-/issues/402
* | Merge branch 'docs-bashism' into 'master'Sam Thursfield2023-05-103-3/+3
|\ \ | | | | | | | | | | | | docs: Switch shebang to bash since popd and pushd are bashisms See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/595
| * | docs: Switch shebang to bash since popd and pushd are bashismsJeremy Bicha2023-05-103-3/+3
|/ / | | | | | | | | | | popd and pushed are not implemented in all shells https://rgeissert.blogspot.com/2013/02/a-bashism-week-pushing-and-poping.html
* | Merge branch 'wip/carlosg/crash-fixes' into 'master'Sam Thursfield2023-05-043-11/+19
|\ \ | |/ |/| | | | | Fix some potential crashers See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/594
| * remote: Fix possible double freeCarlos Garnacho2023-05-041-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | In case of error reading from the input stream, we would propagate the error through the GTask and break, falling through paths that also try to return and free the task. Handle the task entirely at the end of the function, based on the return value. We still need to close the input stream and soup message in any case. CID: #1517496
| * core: Avoid possible buffer overrunsCarlos Garnacho2023-05-041-1/+3
| | | | | | | | | | | | | | | | In some circumstances we may pass -1 as len to g_strndup(), that does not follow the "-1 means strlen()" convention. Do this ourselves. CIDs: #1530151, #1530152
| * core: Handle possible NULL values converting GValues to parser tokensCarlos Garnacho2023-05-011-5/+9
|/ | | | | | These might get to happen in the right circumstances, from the looks of it. Possibly fixes https://retrace.fedoraproject.org/faf/reports/688192/ and similar automated reports.
* Release 3.5.13.5.1Carlos Garnacho2023-04-252-1/+9
|
* Merge branch 'wip/carlosg/prune-only-finished-batches' into 'master'Sam Thursfield2023-04-101-2/+1
|\ | | | | | | | | direct: Prune only content of correctly finished batches See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/590
| * direct: Prune only content of correctly finished batchesCarlos Garnacho2023-04-091-2/+1
|/ | | | | | | | | | | | | | | | | Commit 944988326 attempted made finished batches cheap to keep in memory, for languages where we don't have full control of object lifetime (e.g. GJS). This however broke tracker-miner-fs-3 handling of failures, since that tries to peek at TrackerResources that were already disposed by the TrackerBatch being cleared of content, in order to retry, or report for `tracker3 status`. In order to fix that and keep the improvement for the common case (i.e. success), only clear the TrackerBatch contents if the operation finished successfully. Fixes: 944988326 ("libtracker-sparql/direct: Prune content of already executed batches")
* Update Friulian translationFabio Tomat2023-04-051-222/+262
|
* Merge branch 'wip/carlosg/docs-fts' into 'master'Carlos Garnacho2023-04-041-0/+66
|\ | | | | | | | | docs: Document FTS feature as a whole See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/589
| * docs: Document FTS feature as a wholeCarlos Garnacho2023-04-041-0/+66
|/ | | | | Docs about FTS are somewhat thin and scattered. Add a doc blurb about FTS explaining how things are put together.
* Merge branch 'wip/carlosg/docs-improvements-pt2' into 'master'Sam Thursfield2023-03-3022-195/+666
|\ | | | | | | | | Doc improvements See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/588
| * ci: Expose "Website" artifact in merge requestsCarlos Garnacho2023-03-271-0/+2
| | | | | | | | To make it easier to access during reviews.
| * docs: Document CLI tools in the reference documentationCarlos Garnacho2023-03-264-7/+180
| | | | | | | | | | | | | | | | | | | | | | Duplicate/adapt the script existing at docs/website/build.py in order to build HTML/markdown output for our command line tools. Since we use the xmlto CLI tool and asciibook->docbook->html conversions to get style-free HTML documents, and it was not previously a build dependency, make this an optional runtime dependency while we cannot bump dependencies.
| * docs: Improve NIE ontology introductionCarlos Garnacho2023-03-268-25/+295
| | | | | | | | | | | | Explain more in depth the relation between dataobject/informationelement, taking inspiration from the original Nepomuk documentation in wording and illustrations.
| * docs: Make flag icons themeableCarlos Garnacho2023-03-268-161/+36
| | | | | | | | | | | | Instead of including them as images, inline and theme them like we do with other SVGs, this makes them look better on dark themes, other than being a non-descript grey.
| * docs: Allow adding an extra substitution pathCarlos Garnacho2023-03-261-1/+6
| | | | | | | | | | | | | | | | | | Since we have files in the sources dir and generated files in the build dir, we may want to generate documentation that inline files from both locations. Allow adding an additional lookup path for the file, so both can be tried.
| * docs: Allow consecutive substitution sectionsCarlos Garnacho2023-03-261-1/+1
| | | | | | | | | | | | Our helper script to substitute and inline doc sections and images may choke if multiple {{ }} blocks are found in the same line. Make it handle this situation in the regexp used.
| * docs: Nudge the style of ontology class hierarchies in dark themesCarlos Garnacho2023-03-261-0/+4
| |
| * docs: Add missing imageCarlos Garnacho2023-03-262-0/+142
| | | | | | | | It was left unpushed in my tree, and silently not included.
* | Update Bulgarian translationAlexander Shopov2023-03-301-2085/+10
| |
* | Update Dutch translationNathan Follens2023-03-261-29/+37
| |
* | Update Chinese (China) translationBoyuan Yang2023-03-261-27/+32
|/
* Merge branch 'wip/carlosg/orderless-fts-terms' into 'master'Sam Thursfield2023-03-2315-7/+104
|\ | | | | | | | | core: handle FTS search terms individually See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/585
| * tests: Add more FTS tests for search termsCarlos Garnacho2023-03-2013-1/+36
| | | | | | | | | | Test matching of disjoint terms, and usage of explicit quotes to make exact matches.
| * core: Handle FTS search terms individuallyCarlos Garnacho2023-03-201-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit da9eb9a07c hid the internal FTS syntax as an implementation detail, but it did so by making the full search string a single term, so multiple input words had to also appear consecutively in the searched text to be considered a match. Bring back the flexibility in order/distance of the looked up words by using a SQLite helper function to split FTS search terms. This still results in the FTS syntax being hidden away, but splits the input words so that each becomes its own search term. Fixes: da9eb9a07c ("libtracker-data: Do not expose FTS5 syntax through fts:match")
| * core: Add helper SQLite function to tokenize FTS search termsCarlos Garnacho2023-03-201-0/+62
| | | | | | | | | | | | | | This function splits the search terms, and surrounds each of them with double quotes so they are taken as individual literal strings to be matched, quotes explicitly present in the search string are observed and handled as a single search term, and implicitly closed in unfinished.
* | Merge branch 'wip/carlosg/batch-test-fix' into 'master'Sam Thursfield2023-03-221-7/+7
|\ \ | | | | | | | | | | | | | | | | | | tests: Pass right type/width to varargs TrackerBatch API Closes #397 See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/587
| * | ci: Run tests for libsoup 2.xCarlos Garnacho2023-03-211-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we are departing from test beds that have libsoup2 only into ones that have soup2 available but soup3 is also available and enabled by default, the several paths skewed the coverage testing paths. Add a test target for soup2 specifically, so we get some of it back and spot regressions in libsoup2 support.
| * | ci: Pass --merge-mode-functions to gcovrCarlos Garnacho2023-03-211-0/+3
| | | | | | | | | | | | This may be necessary with the switch to gcovr >= 6.0.
| * | ci: Update alpine imageCarlos Garnacho2023-03-211-2/+2
| | | | | | | | | | | | | | | Hopefully gets us again past gcovr JSON format version mismatches, and allows merging those from the different CI test runs.
| * | ci: Do not consume gcovr outputCarlos Garnacho2023-03-211-1/+1
| | | | | | | | | | | | Provide a hint to CI logs if gcovr fails to get a JSON summary.
| * | ci: Add targets for aarch64 rawhideCarlos Garnacho2023-03-211-0/+41
| | | | | | | | | | | | | | | | | | In addition to testing stable Fedora (even old, till the previous commit) on aarch64, test this architecture on Rawhide as well, in order to spot possible endianness regressions from our dependencies.
| * | ci: Update stable fedora image to F37Carlos Garnacho2023-03-211-16/+16
| | | | | | | | | | | | Fedora 35 is somewhat stale already.