Bug 32289

Summary: Failed to preset unit, unit tracker-extract.service doesn't exist at installation
Product: Mageia Reporter: papoteur <yvesbrungard>
Component: RPM PackagesAssignee: All Packagers <pkg-bugs>
Status: NEW --- QA Contact:
Severity: normal    
Priority: Normal CC: davidwhodgins, geiger.david68210, mageia, zen25000
Version: 9   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: tracker-miners-3.5.2-1.mga9.src.rpm, tracker-3.5.3-1.mga9.src.rpm CVE:
Status comment:

Description papoteur 2023-09-15 10:25:29 CEST
Installing some packages from a Mageia 9 no-DE installation:
...
tracker-miners
Failed to preset unit, unit tracker-extract.service doesn't exist
Comment 1 Barry Jackson 2023-09-15 10:45:11 CEST
Yes I recall seeing that too - I guess this is about aarch64 but you didn't mention that?

CC: (none) => zen25000

Comment 2 papoteur 2023-09-15 10:55:30 CEST
Yes, it is on my new RPI 4B
Comment 3 Barry Jackson 2023-09-15 10:59:12 CEST
Looking at this:

https://www.linuxuprising.com/2019/07/how-to-completely-disable-tracker.html

...it's probably missing by design.

I have lxqt performing well on the RPi4b now BTW. :)
Comment 4 Lewis Smith 2023-09-15 20:46:31 CEST
Thank you Barry for this insight. The linked page is very informative if offputting, but its comments are years old and things may have improved.
I find tracker & tracker-miners on my system,  'ps' shows it:
    2801 ?        SNl    0:01 /usr/libexec/tracker-miner-fs-3
but 'top' does not show it, so it is not being the devil once reported.
Cannot see it with 'systemctl list-units'.

But what is the significance of papoteur's error? Installing a package that uses tracker? It looks as if the message can be ignored.

CC: (none) => lewyssmith
Source RPM: tracker-miners => tracker-miners-3.5.2-1.mga9.src.rpm, tracker-3.5.3-1.mga9.src.rpm

Comment 5 Dave Hodgins 2023-09-16 03:58:10 CEST
It uses a lot of cpu and i/o until the user accessible data has been indexed.
After that it's only active after creating new files or updating existing ones.
When the indexing is finished it just uses a lot of disk space.

It indexes a lot more than just text based files ...
# urpmq -l tracker2-miners|grep rules/
/usr/share/tracker-miners/extract-rules/10-abw.rule
/usr/share/tracker-miners/extract-rules/10-bmp.rule
/usr/share/tracker-miners/extract-rules/10-comics.rule
/usr/share/tracker-miners/extract-rules/10-desktop.rule
/usr/share/tracker-miners/extract-rules/10-dvi.rule
/usr/share/tracker-miners/extract-rules/10-ebooks.rule
/usr/share/tracker-miners/extract-rules/10-epub.rule
/usr/share/tracker-miners/extract-rules/10-flac.rule
/usr/share/tracker-miners/extract-rules/10-gif.rule
/usr/share/tracker-miners/extract-rules/10-html.rule
/usr/share/tracker-miners/extract-rules/10-ico.rule
/usr/share/tracker-miners/extract-rules/10-jpeg.rule
/usr/share/tracker-miners/extract-rules/10-mp3.rule
/usr/share/tracker-miners/extract-rules/10-msoffice.rule
/usr/share/tracker-miners/extract-rules/10-oasis.rule
/usr/share/tracker-miners/extract-rules/10-pdf.rule
/usr/share/tracker-miners/extract-rules/10-png.rule
/usr/share/tracker-miners/extract-rules/10-ps.rule
/usr/share/tracker-miners/extract-rules/10-raw.rule
/usr/share/tracker-miners/extract-rules/10-svg.rule
/usr/share/tracker-miners/extract-rules/10-tiff.rule
/usr/share/tracker-miners/extract-rules/10-vorbis.rule
/usr/share/tracker-miners/extract-rules/10-xmp.rule
/usr/share/tracker-miners/extract-rules/10-xps.rule
/usr/share/tracker-miners/extract-rules/11-iso.rule
/usr/share/tracker-miners/extract-rules/11-msoffice-xml.rule
/usr/share/tracker-miners/extract-rules/15-gstreamer-guess.rule
/usr/share/tracker-miners/extract-rules/15-playlist.rule
/usr/share/tracker-miners/extract-rules/15-source-code.rule
/usr/share/tracker-miners/extract-rules/90-gstreamer-audio-generic.rule
/usr/share/tracker-miners/extract-rules/90-gstreamer-video-generic.rule
/usr/share/tracker-miners/extract-rules/90-text-generic.rule

CC: (none) => davidwhodgins

Comment 6 papoteur 2023-09-16 09:25:18 CEST
Hello,
My concern is that the installation of the package try to enable a service which is not installed. This is not about using or not tracker.
tracker-extract.service was provided by tracker2-miners, but this is no more the case with the actual version 3.
This line of the spec seems to be the culprit:
https://svnweb.mageia.org/packages/cauldron/tracker-miners/current/SPECS/tracker-miners.spec?view=markup#l5
%global systemd_units tracker-extract.service tracker-miner-fs.service tracker-miner-rss.service tracker-writeback.service
in combination with:
https://svnweb.mageia.org/packages/cauldron/tracker-miners/current/SPECS/tracker-miners.spec?view=markup#l85
%systemd_user_post %{systemd_units}
Comment 7 Lewis Smith 2023-09-17 21:48:51 CEST
Thank you papoteur for this detective work.

(In reply to Barry Jackson from comment #1)
> I guess this is about aarch64 but you didn't mention that?
(In reply to papoteur from comment #2)
> Yes, it is on my new RPI 4B
Is this problem just aarch64, or global?

Different packagers have updated tracker[-miners], so assigning this problem globally.

CC: lewyssmith => (none)

Comment 8 papoteur 2023-09-18 08:27:17 CEST
I haven't experimented except on my RPI. But what I pointed doesn't seem specific to aarch64, but general.
Comment 9 Barry Jackson 2023-09-18 12:56:42 CEST
(In reply to Dave Hodgins from comment #5)
....
> It indexes a lot more than just text based files ...
> # urpmq -l tracker2-miners|grep rules/
....

Dave is tracker2 in cauldron?

In Mga9:
No package named tracker2-miners
I see similar to you with tracker-miners. The same tracker* packages appear in aarch64 and x86_64 but there is no trace of them mentioned in boot logs or processes on either arch.
Are these a gnome thing? Maybe only used by gnome and derivatives?
My x86_64 is plasma and my aarch64 is lxqt.
Comment 10 papoteur 2023-09-18 13:46:08 CEST
tracker2-miners was in Mageia 8 but has been obsoleted before Mageia 9 release.
Comment 11 papoteur 2023-09-18 14:04:21 CEST
There is this files installed by tracker-miners:

/usr/lib/systemd/user/tracker-extract-3.service
/usr/lib/systemd/user/tracker-miner-fs-3.service
/usr/lib/systemd/user/tracker-miner-fs-control-3.service
/usr/lib/systemd/user/tracker-writeback-3.service
/usr/lib/systemd/user/tracker-xdg-portal-3.service

But systemctl doesn't seem to know them
systemctl status tracker-extract-3
Unit tracker-extract-3.service could not be found.
Comment 12 Martin Whitaker 2023-09-18 14:10:25 CEST
(In reply to papoteur from comment #11)
> But systemctl doesn't seem to know them

For user services you need to add the --user option:

% systemctl --user status tracker-extract-3
○ tracker-extract-3.service - Tracker metadata extractor
     Loaded: loaded (/usr/lib/systemd/user/tracker-extract-3.service; static)
     Active: inactive (dead)

CC: (none) => mageia

Comment 13 Dave Hodgins 2023-09-18 20:49:04 CEST
I think the message is coming from the postinstall scriptlet ...

if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then 
    # Initial installation 
    /usr/lib/systemd/systemd-update-helper install-user-units tracker-extract.service tracker-miner-fs.service tracker-miner-rss.service tracker-writeback.service || : 
fi

On my plasma install from the tracker-miners package ...
$ ls -1 /lib/systemd/user/tracker-*
/lib/systemd/user/tracker-extract-3.service
/lib/systemd/user/tracker-miner-fs-3.service
/lib/systemd/user/tracker-miner-fs-control-3.service
/lib/systemd/user/tracker-writeback-3.service
/lib/systemd/user/tracker-xdg-portal-3.service

So it's trying to install-user-units that are not present in the package. Based
on what's in the package the postinstall scriptlet should be changed from
/usr/lib/systemd/systemd-update-helper install-user-units tracker-extract.service tracker-miner-fs.service tracker-miner-rss.service tracker-writeback.service || :
to
/usr/lib/systemd/systemd-update-helper install-user-units tracker-extract-3.service tracker-miner-fs-3.service tracker-miner-fs-control-3.service tracker-writeback-3.service || :
Comment 14 Dave Hodgins 2023-09-18 20:53:18 CEST
Assigning to all packages as tracker-miners does not have an assigned maintainer.
Adding David Geiger to cc list as the packager who made the most recent
changes.

CC: (none) => geiger.david68210
Assignee: bugsquad => pkg-bugs