xpra icon
Bug tracker and wiki

Opened 3 months ago

Closed 2 weeks 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 3 months ago.
centos-7-install-cinnamon-python-pillow
install-cinnamon (34.0 KB) - added by akikoo 3 months ago.
install-cinnamon

Download all attachments as: .zip

Change History (19)

comment:1 Changed 3 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 3 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 3 months ago by akikoo

centos-7-install-cinnamon-python-pillow

comment:3 Changed 3 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 3 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 3 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 3 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 3 months ago by Antoine Martin

Why does this error message say

Because the xpra rpm uses the new python2 package names.

comment:8 Changed 3 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 3 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 3 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 3 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 3 months ago by akikoo

Attachment: install-cinnamon added

install-cinnamon

comment:12 Changed 3 months ago by akikoo

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

comment:13 Changed 3 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 3 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 3 months ago by Antoine Martin

I got the errors in the attachment.

Try:

yum remove python2-pillow

Before you do anything.

comment:16 Changed 3 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 2 weeks ago by Antoine Martin

Milestone: 3.14.1
Resolution: fixed
Status: newclosed

Not heard back, closing.

Note: See TracTickets for help on using tickets.