Bug 272017 - sysutils/tracker3: update to 3.5.3
Summary: sysutils/tracker3: update to 3.5.3
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Dimitry Andric
URL: https://gitlab.gnome.org/GNOME/tracke...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-15 18:12 UTC by Dimitry Andric
Modified: 2023-06-18 18:01 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (gnome)


Attachments
sysutils/tracker3: update to 3.5.3 (29.64 KB, patch)
2023-06-15 18:13 UTC, Dimitry Andric
no flags Details | Diff
Fix dependencies for sysutils/tracker3 (799 bytes, patch)
2023-06-16 15:20 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2023-06-15 18:13:24 UTC
Created attachment 242798 [details]
sysutils/tracker3: update to 3.5.3
Comment 2 Fernando Apesteguía freebsd_committer freebsd_triage 2023-06-16 07:04:08 UTC
^Triage: Reporter is committer, assign accordingly.
                                                                                
^Triage: If there is a changelog or release notes URL available for this version, please add it to the URL field.
                                        
Q/A: patch did not apply cleanly. PORTREVISION=8 instead of 7. No need to update a new patch, just have this in mind :-)
                                        

Thanks!
Comment 3 commit-hook freebsd_committer freebsd_triage 2023-06-16 08:31:32 UTC
A commit in branch main references this bug:

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

commit 494f001bcc35cd32baa096869c2072fa45940b40
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-06-15 18:10:48 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-06-16 08:27:37 +0000

    sysutils/tracker3: update to 3.5.3

    Changes:        https://gitlab.gnome.org/GNOME/tracker/-/compare/3.1.2...3.5.3
    PR:             272017
    MFH:            2023Q2

 sysutils/tracker3/Makefile  |  13 +-
 sysutils/tracker3/distinfo  |   6 +-
 sysutils/tracker3/pkg-plist | 396 ++++++++++++++++++++++++++++++--------------
 3 files changed, 278 insertions(+), 137 deletions(-)
Comment 4 Tomoaki AOKI 2023-06-16 12:46:21 UTC
This failes to build on poudriere like below, but succeeds on bare-metal environment.
Not sure actually which, but maybe some dependencies are missed.
Previous version was built fine on poudriere.

==== Failed poudriere build log =====

=>> Building sysutils/tracker3
build started at Fri Jun 16 18:45:10 JST 2023
port directory: /usr/ports/sysutils/tracker3
package name: tracker3-3.5.3
building for: FreeBSD 13amd64-default-job-01 13.2-STABLE FreeBSD 13.2-STABLE 1302505 amd64
maintained by: gnome@FreeBSD.org
Makefile datestamp: -rw-r--r--  1 root  wheel  1325 Jun 16 08:36 /usr/ports/sysutils/tracker3/Makefile
Ports top last git commit: bc63b3f9ca8b
Ports top unclean checkout: yes
Port dir last git commit: 494f001bcc35
Port dir unclean checkout: no
Poudriere version: poudriere-git-3.3.99.20220831
Host OSVERSION: 1302505
Jail OSVERSION: 1302505
Job Id: 01

     (snip)

gvdb| Subproject gvdb finished.

Dependency gvdb found: YES 0.0 (overridden)
Run-time dependency libsoup-2.4 found: YES 2.74.3
Run-time dependency libsoup-3.0 found: NO (tried pkgconfig and cmake)
Library m found: YES
Library dl found: YES
Program python3 (gi) found: NO

meson.build:101:26: ERROR: python3 is missing modules: gi

A full log can be found at /wrkdirs/usr/ports/sysutils/tracker3/work/tracker-3.5.3/_build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
===>  Script "configure" failed unexpectedly.
Please report the problem to gnome@FreeBSD.org [maintainer] and attach the
"/wrkdirs/usr/ports/sysutils/tracker3/work/tracker-3.5.3/_build/meson-logs/meson-log.txt"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make: stopped in /usr/ports/sysutils/tracker3
=>> Cleaning up wrkdir
===>  Cleaning for tracker3-3.5.3
build of sysutils/tracker3 | tracker3-3.5.3 ended at Fri Jun 16 18:45:19 JST 2023
build time: 00:00:09
!!! build failure encountered !!!
Comment 5 Dimitry Andric freebsd_committer freebsd_triage 2023-06-16 15:20:57 UTC
Created attachment 242811 [details]
Fix dependencies for sysutils/tracker3

Apologies for the breakage, can please try this second patch? It adds devel/py-gobject3 as a build and run dependency, and updates the libsoup2 dependency to libsoup3.
Comment 6 Dimitry Andric freebsd_committer freebsd_triage 2023-06-16 15:21:27 UTC
Reopen.
Comment 7 commit-hook freebsd_committer freebsd_triage 2023-06-16 17:40:53 UTC
A commit in branch main references this bug:

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

commit a579bac9a284dce12afaf09214cea09311297635
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-06-16 17:30:39 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-06-16 17:40:16 +0000

    sysutils/tracker3: add additional python depends to fix build

    Tracker 3 also requires py-gobject3 now, so add it to BUILD_DEPENDS and
    RUN_DEPENDS. This should fix the build under poudriere.

    PR:             272017
    Reported by:    Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
    MFH:            2023Q2

 sysutils/tracker3/Makefile | 2 ++
 1 file changed, 2 insertions(+)
Comment 8 Tomoaki AOKI 2023-06-16 18:07:29 UTC
(In reply to Dimitry Andric from comment #5)

Unfortunately, still fails at much later (packaging) phase.
Thanks in advance!

===== Error log =====

=>> Building sysutils/tracker3
build started at Sat Jun 17 02:50:58 JST 2023
port directory: /usr/ports/sysutils/tracker3
package name: tracker3-3.5.3
building for: FreeBSD 13amd64-default-job-01 13.2-STABLE FreeBSD 13.2-STABLE 1302505 amd64
maintained by: gnome@FreeBSD.org
Makefile datestamp: -rw-r--r--  1 root  wheel  1486 Jun 16 17:48 /usr/ports/sysutils/tracker3/Makefile
Ports top last git commit: bc63b3f9ca8b
Ports top unclean checkout: yes
Port dir last git commit: 494f001bcc35
Port dir unclean checkout: yes
Poudriere version: poudriere-git-3.3.99.20220831
Host OSVERSION: 1302505
Jail OSVERSION: 1302505
Job Id: 01

   (snip)

gvdb| Subproject gvdb finished.

Dependency gvdb found: YES 0.0 (overridden)
Run-time dependency libsoup-2.4 found: NO (tried pkgconfig and cmake)
Run-time dependency libsoup-3.0 found: YES 3.2.2
Library m found: YES
Library dl found: YES
Program python3 (gi) found: YES (/wrkdirs/usr/ports/sysutils/tracker3/work/.bin/python3) modules: gi
Compiler for C supports arguments -Wformat: YES 

   (snip)

=======================<phase: package        >============================
===== env: 'PKG_NOTES=build_timestamp ports_top_git_hash ports_top_checkout_unclean port_git_hash port_checkout_unclean built_by' 'PKG_NOTE_build_timestamp=2023-06-16T17:50:58+0000' 'PKG_NOTE_ports_top_git_hash=bc63b3f9ca8b' 'PKG_NOTE_ports_top_checkout_unclean=yes' 'PKG_NOTE_port_git_hash=494f001bcc35' 'PKG_NOTE_port_checkout_unclean=yes' 'PKG_NOTE_built_by=poudriere-git-3.3.99.20220831' NO_DEPENDS=yes USER=nobody UID=65534 GID=65534
===>  Building package for tracker3-3.5.3
pkg-static: Unable to access file /wrkdirs/usr/ports/sysutils/tracker3/work/stage/usr/local/lib/tracker-3.0/libtracker-http-soup2.so:No such file or directory
*** Error code 1

Stop.
make: stopped in /usr/ports/sysutils/tracker3
=>> Cleaning up wrkdir
===>  Cleaning for tracker3-3.5.3
build of sysutils/tracker3 | tracker3-3.5.3 ended at Sat Jun 17 02:51:24 JST 2023
build time: 00:00:26
!!! build failure encountered !!!
Comment 9 Dimitry Andric freebsd_committer freebsd_triage 2023-06-16 18:15:22 UTC
(In reply to Tomoaki AOKI from comment #8)
Sorry about that, in the commit I reverted the libsoup3 change back to libsoup2, as that was the reason for the missing file /usr/local/lib/tracker-3.0/libtracker-http-soup2.so (from the pkg-plist).

Please try building the port from commit a579bac9a284dce12afaf09214cea09311297635 in poudriere, that should now *really* work!

That said, I don't know whether libsoup2 or libsoup3 is preferred in ports: some ports use the former, others the latter. Maybe, if there is demand for this in the tracker3 port, it can be supported with FLAVORS?
Comment 10 Tomoaki AOKI 2023-06-16 19:45:08 UTC
(In reply to Dimitry Andric from comment #9)

Backed out the patch and updating ports tree solved the issue.
Thanks!

> That said, I don't know whether libsoup2 or libsoup3 is preferred in ports: some ports > use the former, others the latter. Maybe, if there is demand for this in the tracker3 > port, it can be supported with FLAVORS?

It would be the maintainer's choice. :-)
But it would be best chasing the default version of ports framework for FreeBSD world.
Non-default version should only be chosen if the default version is known to be problematic with the specific port.

FLAVORS or OPTIONS would be appreciated if different version causes conflict with each other (like node and its friends). If the admin wants some ports requiring non-default and conflicting-to-default version, all other ports installed SHALL use the same non-default version.

It should be best if all ports with different version can sanely coexist as gtk* does.
Comment 11 Dimitry Andric freebsd_committer freebsd_triage 2023-06-17 09:23:13 UTC
(In reply to Tomoaki AOKI from comment #10)
> It would be the maintainer's choice. :-)

Of course, but in this port's case I believe that it was not really maintained anymore, in the sense that it was imported at version 3.1.2 in 2021, and it was not updated from upstream since then.

In any case, I only noticed during the configure phase that it searches for both major versions of libsoup:

Dependency gvdb found: YES 0.0 (overridden)
Run-time dependency libsoup-2.4 found: YES 2.74.3
Run-time dependency libsoup-3.0 found: YES 3.2.2

So apparently the tracker program supports both of these as "backends". If you have both libsoup2 and libsoup3 installed, I see two of the support .so files being installed into the stage dir:

lib/tracker-3.0/libtracker-http-soup2.so
lib/tracker-3.0/libtracker-http-soup3.so

E.g. I think this port can work with both libsoup versions simultaneously, and maybe that would be handy for some users.
Comment 12 commit-hook freebsd_committer freebsd_triage 2023-06-17 10:30:10 UTC
A commit in branch main references this bug:

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

commit 22a9ae807211b4e93266a3857293c98b3790c9b4
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-06-17 10:28:17 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-06-17 10:28:34 +0000

    sysutils/tracker3: add SOUP2 and SOUP3 multi options

    Because Tracker can support libsoup2 and libsoup3 backend, and also at
    the same time, it makes sense to add a multi option to give the user the
    possibility of selecting them.

    The default is still libsoup2, so the default dependencies of this port
    will not change at this time.

    PR:             272017
    MFH:            2023Q2

 sysutils/tracker3/Makefile  | 27 +++++++++++++++++++++++++--
 sysutils/tracker3/pkg-plist |  3 ++-
 2 files changed, 27 insertions(+), 3 deletions(-)
Comment 13 Jan Beich freebsd_committer freebsd_triage 2023-06-17 10:53:05 UTC
Fails to build on i386 due to 32-bit time_t. Meson tries to auto-detect %Y from strftime(3) but upstream didn't bother fixing it with https://gitlab.gnome.org/GNOME/tracker/-/commit/fd67d19a9436

Checking if "strftime 4-digit year modifier" runs: NO (255)

meson.build:231:2: ERROR: Problem encountered: Libc implementation has broken 4-digit years implementation.
Comment 14 Dimitry Andric freebsd_committer freebsd_triage 2023-06-17 10:58:37 UTC
Reopening again :)
Comment 15 Dimitry Andric freebsd_committer freebsd_triage 2023-06-17 11:09:00 UTC
(In reply to Jan Beich from comment #13)
Hm, it's going to be interesting, as they seem to say "we don't care about platforms with 2038 problems anymore", and i386 is the only arch we have left without 64 bit time_t. It's probably too harsh to just say BROKEN on i386? :)

Otherwise we can probably kludge around the warning and hope that the port dies before 2038...
Comment 16 commit-hook freebsd_committer freebsd_triage 2023-06-17 15:25:51 UTC
A commit in branch main references this bug:

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

commit 2cfe4f64726fc29828d85528541007d68047bc22
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-06-17 15:16:45 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-06-17 15:24:55 +0000

    sysutils/tracker3: fix meson configuration on i386

    Tracker's meson script has a check for "4-digit year modifier for
    strftime", but it semi-intentially uses a date which does not work on
    i386, due to its 32-bit time_t. Since we will never fix the Y2038
    problem on i386, work around the bad test by using 1970-01-01 instead.

    PR:             272017
    Reported by:    jbeich
    MFH:            2023Q2

 sysutils/tracker3/files/patch-meson.build (new) | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)