You are not logged in.

#1 2019-10-06 09:44:46

thenextdon13
Member
Registered: 2013-01-18
Posts: 58

pycryptodome vs pycryptodomex, files 'exist in filesystem'

Trying to run system upgrades, I end up with a bunch of file conflicts  / file exists in filesystem.

...
error: failed to commit transaction (conflicting files)
python2-pycryptodomex: /usr/lib/python2.7/site-packages/Cryptodome exists in filesystem
python2-pycryptodomex: /usr/lib/python2.7/site-packages/Cryptodome/Cipher/AES.py exists in filesystem
... (many, many additional files))

Its strange because the error seems to be coming from the installation of pycryptodomex (as seen above), but that package doesn't appear to be installed, or provide anything.. so i'm not clear why its being pulled in

[kodiuser@kodiarch ~]$ sudo pacman -Qi python2-pycryptodomex
error: package 'python2-pycryptodomex' was not found
[kodiuser@kodiarch ~]$ 

[kodiuser@kodiarch ~]$ sudo pacman -Si python2-pycryptodomex
Repository      : community
Name            : python2-pycryptodomex
Version         : 3.9.0-1
Description     : A self-contained Python package of low-level cryptographic primitives
Architecture    : x86_64
URL             : https://www.pycryptodome.org/
Licenses        : BSD
Groups          : None
Provides        : None
Depends On      : python2
Optional Deps   : None
Conflicts With  : None
Replaces        : None
Download Size   : 6.91 MiB
Installed Size  : 26.02 MiB
Packager        : BlackEagle <ike DOT devolder AT gmail DOT com>
Build Date      : Sat 07 Sep 2019 09:23:17 AM PDT
Validated By    : MD5 Sum  SHA-256 Sum  Signature

Meanwhile, all of the files i've checked are owned instead by pycryptodome instead

[kodiuser@kodiarch ~]$ sudo pacman -Qo  /usr/lib/python2.7/site-packages/Cryptodome/Cipher/AES.py
/usr/lib/python2.7/site-packages/Crypto/Cipher/AES.py is owned by python2-pycryptodome 3.9.0-1
[kodiuser@kodiarch ~]$ 

[kodiuser@kodiarch ~]$ sudo pacman -Qi python2-pycryptodome
Name            : python2-pycryptodome
Version         : 3.9.0-1
Description     : Collection of cryptographic algorithms and protocols, implemented for use from Python 2.
Architecture    : x86_64
URL             : https://www.pycryptodome.org/
Licenses        : BSD
Groups          : None
Provides        : python2-crypto
Depends On      : python2  gmp
Optional Deps   : None
Required By     : kodi
Optional For    : None
Conflicts With  : python2-crypto
Replaces        : python2-crypto
Installed Size  : 25.80 MiB
Packager        : Felix Yan <felixonmars@archlinux.org>
Build Date      : Thu 29 Aug 2019 08:56:53 PM PDT
Install Date    : Thu 03 Oct 2019 09:29:20 AM PDT
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

And pycryptodome indicates it is up to date...

[kodiuser@kodiarch ~]$ sudo pacman -Sy python2-pycryptodome
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
warning: python2-pycryptodome-3.9.0-1 is up to date -- reinstalling

Full output here
https://pastebin.com/jQt1ec8T

Offline

#2 2019-10-06 11:36:46

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: pycryptodome vs pycryptodomex, files 'exist in filesystem'

Its strange because the error seems to be coming from the installation of pycryptodomex (as seen above), but that package doesn't appear to be installed, or provide anything.. so i'm not clear why its being pulled in

Looks like kodi recently switched from pycryptodome to pycryptodomex, 
https://git.archlinux.org/svntogit/comm … 58face2a65

I do think you should create a bug report against python2-pycryptodomex .
python2-pycryptodomex should atleast conflict python2-pycryptodome  .
A feature request to publish a newspost or pre-upgrade message manual action is needed for this kodi upgrade also seems a good idea.

The simplest way to solve the issue is probably to remove every package related to kodi including python2-pycryptodome , then run pacman -Syu .
Once everything is uptodate again, run pacman -Syu kodi .

Some hints :
pacman -i / --info , -s / --search and -Q / --query never require sudo .

pacman -Sy foo is almost always a bad idea. Use pacman -S foo or pacman -Syu foo .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2019-10-06 11:49:54

arojas
Developer
From: Spain
Registered: 2011-10-09
Posts: 2,093

Re: pycryptodome vs pycryptodomex, files 'exist in filesystem'

$ sudo pacman -Qo  /usr/lib/python2.7/site-packages/Cryptodome/Cipher/AES.py
/usr/lib/python2.7/site-packages/Crypto/Cipher/AES.py is owned by python2-pycryptodome 3.9.0-1

This looks quite fishy. Have you symlinked /usr/lib/python2.7/site-packages/Cryptodome to /usr/lib/python2.7/site-packages/Crypto? The official python2-pycryptodome package doesn't install anything to /usr/lib/python2.7/site-packages/Cryptodome

Offline

#4 2019-10-06 11:58:31

thenextdon13
Member
Registered: 2013-01-18
Posts: 58

Re: pycryptodome vs pycryptodomex, files 'exist in filesystem'

@arojas-
It appears I have; I'm not sure when, why, or how...

kodiuser@kodiarch ~]$ ls -l /usr/lib/python2.7/site-packages/Cryptodome
lrwxrwxrwx 1 root root 39 Jul 24 22:29 /usr/lib/python2.7/site-packages/Cryptodome -> /usr/lib/python2.7/site-packages/Crypto

@Lone_Wolf
Thanks for the info; Perhaps i'll get there tomorrow night.  Ahh yes, i remember now using -Sy causes issues in grabbing he newest version of packages that won't align with outer things installed, or something like that.

EDIT
I bet it was based on the comments as part of this plugin
https://github.com/asciidisco/plugin.vi … -292145025

I think we can close this thread;

Last edited by thenextdon13 (2019-10-07 11:23:11)

Offline

Board footer

Powered by FluxBB