xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Opened 10 months ago

Closed 7 months ago

Last modified 3 months ago

#2820 closed defect (fixed)

Installing Cinnamon yum package group does not work on CentOS 7 because of package dependencies

Reported by: akikoo Owned by: akikoo
Priority: minor Milestone: 4.1
Component: packaging Version: 3.0.x
Keywords: python-pillow cinnamon centos Cc:

Description

Cinnamon requires python-pillow which is found in base/7/x86_64 repo.

Error: Package: cinnamon-3.6.7-5.el7.x86_64 (epel)
           Requires: python-pillow(x86-64)
           Available: python-pillow-2.0.0-20.gitd1c6db8.el7_7.x86_64 (base)
               python-pillow(x86-64) = 2.0.0-20.gitd1c6db8.el7_7

winswitch repo includes python2-pillow which is required by python2-xpra.

Error: Package: python2-xpra-3.0.10-11.r26630xpra1.el7_8.x86_64 (winswitch)
           Requires: python2-pillow

I tried installing python-pillow from CentOS repos and then excluding python2-pillow from installing in /etc/yum.conf but it didn't work.
Nor did setting a yum versionlock on python-pillow. It got updated regardless of the versionlock.

# yum info python-pillow

Available Packages
Name        : python-pillow
Arch        : i686
Version     : 2.0.0
Release     : 20.gitd1c6db8.el7_7
Size        : 439 k
Repo        : base/7/x86_64
Summary     : Python image processing library
URL         : http://python-pillow.github.io/
License     : MIT
Description : Python image processing library, fork of the Python Imaging Library (PIL)
            :
            : This library provides extensive file format support, an efficient
            : internal representation, and powerful image processing capabilities.
            :
            : There are five subpackages: tk (tk interface), qt (PIL image wrapper for Qt),
            : sane (scanning devices interface), devel (development) and doc (documentation).

Name        : python-pillow
Arch        : x86_64
Version     : 2.0.0
Release     : 20.gitd1c6db8.el7_7
Size        : 439 k
Repo        : base/7/x86_64
Summary     : Python image processing library
URL         : http://python-pillow.github.io/
License     : MIT
Description : Python image processing library, fork of the Python Imaging Library (PIL)
            :
            : This library provides extensive file format support, an efficient
            : internal representation, and powerful image processing capabilities.
            :
            : There are five subpackages: tk (tk interface), qt (PIL image wrapper for Qt),
            : sane (scanning devices interface), devel (development) and doc (documentation).
# yum info python2-pillow

Installed Packages
Name        : python2-pillow
Arch        : x86_64
Version     : 6.2.0
Release     : 1.el7_8
Size        : 3.7 M
Repo        : installed
From repo   : winswitch
Summary     : Python image processing library
URL         : http://python-imaging.github.com/Pillow/
License     : MIT
Description : Python image processing library, fork of the Python Imaging Library (PIL)
            : 
            : This library provides extensive file format support, an efficient
            : internal representation, and powerful image processing capabilities.
            : 
            : There are four subpackages: tk (tk interface), qt (PIL image wrapper for Qt),
            : devel (development) and doc (documentation).

Attachments (2)

centos-7-install-cinnamon-python-pillow (96.2 KB) - added by akikoo 10 months ago.
centos-7-install-cinnamon-python-pillow
install-cinnamon (34.0 KB) - added by akikoo 10 months ago.
install-cinnamon

Download all attachments as: .zip

Change History (20)

comment:1 Changed 10 months ago by akikoo

I tried installing python-pillow from CentOS repos and then excluding python2-pillow from installing in /etc/yum.conf but it didn't work.

This means after setting the exclude=python2-pillow* in /etc/yum.conf, I got the error:

Error: Package: python2-xpra-3.0.10-11.r26630xpra1.el7_8.x86_64 (winswitch)
           Requires: python2-pillow

comment:2 Changed 10 months ago by Antoine Martin

Owner: changed from Antoine Martin to akikoo

The package does provide python-pillow:

# rpm -q --provides dists/CentOS/7.8/x86_64/python2-pillow-6.2.0-1.el7_8.x86_64.rpm 
python-pillow = 6.2.0-1.el7_8
python-imaging = 6.2.0-1.el7_8
python2-imaging = 6.2.0-1.el7_8
python2-pillow = 6.2.0-1.el7_8
python2-pillow(x86-64) = 6.2.0-1.el7_8

So I am not sure why yum is getting confused here.
Please post the full output when you try to install cinnamon from EPEL, without pinning or excluding any packages.

Changed 10 months ago by akikoo

centos-7-install-cinnamon-python-pillow

comment:3 Changed 10 months ago by Antoine Martin

Owner: changed from akikoo to Antoine Martin
Status: newassigned

TILs:

--> Processing Dependency: python-pillow(x86-64) for package: cinnamon-3.6.7-5.el7.x86_64
Package python-pillow-2.0.0-20.gitd1c6db8.el7_7.x86_64 is obsoleted by python2-pillow-6.2.0-1.el7_8.x86_64 which is already installed
---> Package sgpio.x86_64 0:1.2.0.10-13.el7 will be installed
--> Finished Dependency Resolution
Error: Package: cinnamon-3.6.7-5.el7.x86_64 (epel)
           Requires: python-pillow(x86-64)
           Available: python-pillow-2.0.0-20.gitd1c6db8.el7_7.x86_64 (base)
               python-pillow(x86-64) = 2.0.0-20.gitd1c6db8.el7_7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

So yum does see that python2-pillow should do the job and is already installed? So why fail?

comment:4 Changed 10 months ago by akikoo

# yum provides python-pillow

python-pillow-2.0.0-20.gitd1c6db8.el7_7.i686 : Python image processing library
Repo        : base



python-pillow-2.0.0-20.gitd1c6db8.el7_7.x86_64 : Python image processing library
Repo        : base



python2-pillow-6.2.0-1.el7_8.x86_64 : Python image processing library
Repo        : winswitch
Matched from:
Provides    : python-pillow = 6.2.0-1.el7_8



python2-pillow-6.2.0-1.el7_8.x86_64 : Python image processing library
Repo        : @winswitch
Matched from:
Provides    : python-pillow = 6.2.0-1.el7_8

comment:5 Changed 10 months ago by akikoo

# yum install python-pillow

Package python-pillow-2.0.0-20.gitd1c6db8.el7_7.x86_64 is obsoleted by python2-pillow-6.2.0-1.el7_8.x86_64 which is already installed
Nothing to do

comment:6 Changed 10 months ago by akikoo

Why does this error message say

Error: Package: python2-xpra-3.0.10-11.r26630xpra1.el7_8.x86_64 (winswitch)
           Requires: python2-pillow

not

           Requires: python-pillow

comment:7 Changed 10 months ago by Antoine Martin

Why does this error message say

Because the xpra rpm uses the new python2 package names.

comment:8 Changed 10 months ago by akikoo

If I first install the package group Cinnamon, the installation works fine.

If I then try to install xpra, I get this error message:

Error: Package: cinnamon-3.6.7-5.el7.x86_64 (@epel)
           Requires: python-pillow(x86-64)
           Removing: python-pillow-2.0.0-20.gitd1c6db8.el7_7.x86_64 (@base)
               python-pillow(x86-64) = 2.0.0-20.gitd1c6db8.el7_7
           Obsoleted By: python2-pillow-6.2.0-1.el7_8.x86_64 (winswitch)
              ~python2-pillow(x86-64) = 6.2.0-1.el7_8

comment:9 Changed 10 months ago by Antoine Martin

Owner: changed from Antoine Martin to akikoo
Status: assignednew

r26868 should fix this: we switch back to the python-pillow package name, but only in the 3.0 branch and only on RHEL / CentOS 7. (newer distros like CentOS 8 would have problems with the unversioned python2 package names)

Please try the xpra 3.0.11 / python-pillow 6.2.2 packages from the beta channel: https://xpra.org/beta/CentOS, and close this ticket if that works for you.

Note: there may still be conflicts when updating if you already have python2-pillow installed, but a clean installation should work. (workaround: remove then re-install)

comment:10 Changed 10 months ago by akikoo

That seems to have fixed it. I now see in dependency list for "yum groupinstall Cinnamon":

 python-pillow                          x86_64     6.2.2-1.el7_8                            winswitch-beta     979 k

I ran this after installing xpra.

I had this package installed before running "yum groupinstall Cinnamon":

Name        : python2-pillow
Arch        : x86_64
Version     : 6.2.0
Release     : 1.el7_8
Size        : 3.7 M
Repo        : installed
From repo   : winswitch

comment:11 Changed 10 months ago by akikoo

I was wrong. It downloaded all needed packages for Cinnamon but then when starting to install them I got the errors in the attachment.

Changed 10 months ago by akikoo

Attachment: install-cinnamon added

install-cinnamon

comment:12 Changed 10 months ago by akikoo

I need to create the Docker image again to resolve it according to your instructions.

comment:13 Changed 10 months ago by akikoo

I'm not 100% sure but looks like there is a need for the winswitch repo to be enabled, not just having winswitch-beta repo enabled. I disabled the winswitch repo and the installation from winswitch-beta wants packages from winswitch repo.

comment:14 Changed 10 months ago by Antoine Martin

I'm not 100% sure but looks like there is a need for the winswitch repo to be enabled, not just having winswitch-beta repo enabled.

Yes, as per wiki/Download: the beta repositories are supplemental ones so you must also configure the stable repository to use them.

comment:15 Changed 10 months ago by Antoine Martin

I got the errors in the attachment.

Try:

yum remove python2-pillow

Before you do anything.

comment:16 Changed 10 months ago by akikoo

If I don't run this command in Dockerfile, python2-pillow will be installed:

echo "exclude=python2-pillow*" >> /etc/yum.conf && \

comment:17 Changed 7 months ago by Antoine Martin

Milestone: 3.14.1
Resolution: fixed
Status: newclosed

Not heard back, closing.

comment:18 Changed 3 months ago by migration script

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2820

Note: See TracTickets for help on using tickets.