Bug 250997

Summary: x11/xpra package doesn't pull in py37-lz4 as dependency
Product: Ports & Packages Reporter: Duane <parakleta>
Component: Individual Port(s)Assignee: Gleb Popov <arrowd>
Status: Closed Feedback Timeout    
Severity: Affects Only Me    
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Script File for installing xpra none

Description Duane 2020-11-10 03:01:13 UTC
I can see it listed as a runtime dependency, but if I do `pkg install xpra` then afterwards `pkg info | grep lz4` doesn't show any python packages, and the lz4 compression method isn't available.
Comment 1 Mateusz Piotrowski freebsd_committer 2020-11-10 09:37:34 UTC
Could you provide more details?

What's the version of FreeBSD you are running? What are the package versions of xpra?

Also, when I run "pkg rquery %dn xpra" I can see py37-lz4 listed there, which in turn depends on liblz4, so everything seems fine there.
Comment 2 Duane 2020-11-10 21:32:17 UTC
I am using FreeBSD 12.1 and Xpra 4.0.2_2.  It took me a few goes to figure out how to reproduce it because most of the time it did install the `py37-lz4` package.  What finally worked (i.e. broke the install) was removing `python37` itself.  There's some issue where if Python isn't installed it doesn't install the `py37-lz4` module.

Interestingly most of the other python modules install, although it turns out I am also missing `py37-netifaces`, `py37-object3`, and `py37-brotli`, as well as the aforementioned `py37-lz4`.
Comment 3 Duane 2020-11-10 21:36:32 UTC
(In reply to Duane from comment #2)

I was wrong about `py37-gobject3` and `py37-netifaces`, they were installed.  Sorry.

Additionally, `gstreamer1-plugins-flac` didn't install on the first round either.  Running `pkg install -f xpra` after installing xpra pulls in the remaining dependencies.
Comment 4 Mateusz Piotrowski freebsd_committer 2020-11-11 11:35:14 UTC
Hmm, actually I can see this on my FreeBSD 12.1 as well. What's the output of pkg check -dnv xpra on your system?
Comment 5 Duane 2020-11-11 22:03:33 UTC
(In reply to Mateusz Piotrowski from comment #4)

After the first install `pkg check` lists gstreamer1-plugins-flac, py37-lz4, py37-brotli as missing dependencies, and libyuv.so as a missing library.

After the (forced) reinstall step I'm still missing `libyuv.so`.
Comment 6 Mateusz Piotrowski freebsd_committer 2020-11-11 22:24:30 UTC
(In reply to Duane from comment #5)
Hmm, I've got no idea what it could be. Perhaps you could post a question to questions@freebsd.org or ports@freebsd.org.
Comment 7 Gleb Popov freebsd_committer 2020-11-12 05:44:40 UTC
So, what are concrete steps to reproduce the bug?
Comment 8 Duane 2020-11-12 22:21:41 UTC
(In reply to Gleb Popov from comment #7)

As per comment #2.

pkg remove python37 xpra
pkg install xpra
pkg check -dnv xpra
Comment 9 Gleb Popov freebsd_committer 2020-11-26 14:53:33 UTC
I wasn't able to reproduce this in a fresh jail with pkg 1.15.10. What version are you running?
Comment 10 Duane 2020-12-01 22:19:01 UTC
(In reply to Gleb Popov from comment #9)

1.15.10.  The problem still occurs.  Did you start with an environment with no packages installed and then run those three commands?
Comment 11 Gleb Popov freebsd_committer 2020-12-02 03:19:01 UTC
(In reply to Duane from comment #10)

> Did you start with an environment with no packages installed and then run those three commands?

That's correct.
Comment 12 Duane 2020-12-02 10:58:58 UTC
(In reply to Gleb Popov from comment #11)

So what did `pkg check -dnv xpra` report?
Comment 13 Gleb Popov freebsd_committer 2020-12-02 13:29:34 UTC
(In reply to Duane from comment #12)
[1/1] Checking xpra-4.0.4_1: dependencies... done
xpra is missing a required shared library: libyuv.so
Comment 14 Duane 2020-12-02 21:23:37 UTC
I'm not sure what else to suggest at this point.  You're currently the odd one out since both Mateusz and I can recreate the problem (and I've done it on 2 different machines, including one running 12.2).

Can you try on that machine now that a cluster of packages are installed removing python and xpra and reinstalling them, maybe its an interaction between packages.

If there's anything else you want me to test please let me know.
Comment 15 Gleb Popov freebsd_committer 2020-12-03 06:07:13 UTC
(In reply to Duane from comment #14)
Can you still get to the point when installing xpra doesn't pull all required deps?

If yes, do you see any conflicts in the pkg's outline message before confirmation?
Comment 16 Duane 2020-12-03 21:49:25 UTC
Created attachment 220231 [details]
Script File for installing xpra
Comment 17 Duane 2020-12-03 21:49:55 UTC
(In reply to Duane from comment #16)

I attached a `script` recording of me installing xpra.
Comment 18 Gleb Popov freebsd_committer 2020-12-11 18:11:26 UTC
I've updated the port to 4.0.5. Does the problem persist?