FS#48787 - [python-packaging]: python packages can't be build by using only core+extra repositories

Attached to Project: Arch Linux
Opened by Alexander D. Kanevskiy (kad) - Saturday, 02 April 2016, 23:40 GMT
Last edited by Jelle van der Waa (jelly) - Friday, 02 June 2023, 20:21 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Felix Yan (felixonmars)
Architecture All
Severity Very Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
At the moment it's impossible to build packages that are depending on python-setuptools if on user system only core+extra repositories are enabled.
Issue root cause is that python-setuptools depends on python-packaging, and python-packaging depends on python-six and python-pyparsing.
python-setuptools is in extra, where python-six are in community repo.
In theory, if core and extra repositories are expected to be self-contained (all needed components to build/install packages from them expected to be available), then all missing dependencies of python-setuptools supposed to be moved from community to extra.

Additional info:
* package version(s):
python-packaging 16.6-1
python-pyparsing 2.1.1-1
python-setuptools 1:20.6.7-1
python-six 1.10.0-1

Steps to reproduce:
- disable community repository
- pacman -S python-setuptools
This task depends upon

Closed by  Jelle van der Waa (jelly)
Friday, 02 June 2023, 20:21 GMT
Reason for closing:  Deferred
Additional comments about closing:  No longer an issue since community/extra are merged.
Comment by Doug Newgard (Scimmia) - Sunday, 03 April 2016, 01:52 GMT
"In theory, if core and extra repositories are expected to be self-contained..."

They aren't.
Comment by Doug Newgard (Scimmia) - Sunday, 03 April 2016, 02:36 GMT
  • Field changed: Summary ([python-setuptools]: python packages can't be build by using only core+extra repositories → [python-packaging]: python packages can't be build by using only core+extra repositories)
  • Field changed: Status (Unconfirmed → Assigned)
  • Field changed: Severity (Medium → Very Low)
  • Task assigned to Felix Yan (felixonmars)
We are talking about runtime deps for python-packaging, not just makedeps, so there is some validity to this.
Comment by Alexander D. Kanevskiy (kad) - Sunday, 03 April 2016, 09:09 GMT
Well, this runtime dependency results with "impossible to build python packages only on top of core+extra".
python-setuptools is makedeps for such packages, but it's not installable without community repository.

Here is example:

[kad@arch bmap]$ makepkg -s
==> Making package: bmap-tools 3.2-1 (Sun Apr 3 12:06:23 EEST 2016)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
warning: cannot resolve "python2-six", a dependency of "python2-packaging"
warning: cannot resolve "python2-packaging", a dependency of "python2-setuptools"
:: The following package cannot be upgraded due to unresolvable dependencies:
python2-setuptools

:: Do you want to skip the above package for this upgrade? [y/N]
error: failed to prepare transaction (could not satisfy dependencies)
:: python2-packaging: requires python2-six
:: python2-setuptools: requires python2-packaging
==> ERROR: 'pacman' failed to install missing dependencies.
[kad@arch bmap]$


Another, the most visible example of this would be build of ArchLinux python packages by using openSUSE build system (to have in one place packages produced for multiple distros):
https://build.opensuse.org/project/monitor/openSUSE:Tools?arch_x86_64=1&defaults=0&repo_Arch_Extra=1&unresolvable=1
Due to conflicts with licensing, Suse can't enable community repository, and thus, anyone who want to use their service unable to build python packages for ArchLinux.
Comment by Allan McRae (Allan) - Sunday, 03 April 2016, 11:07 GMT
There are 76 packages in [extra] that depend on [community].
Comment by Doug Newgard (Scimmia) - Sunday, 03 April 2016, 15:30 GMT
All of which is an OBS problem, not an Arch problem.
Comment by Alexander D. Kanevskiy (kad) - Sunday, 03 April 2016, 19:37 GMT
Do I read correctly, that building python packages is not considered important enough feature for ArchLinux users to have all needed components for those in Core+Extra ?
It's not a big deal to have copies of python-parsing and python-six in my local repositories, as those packages are not changed often, just thought it might be valuable for others with similar custom setups.
OBS is just one of the publicly visible consequences in custom small setups, where only important and trusted repositories are enabled, but not the only one.
Comment by Allan McRae (Allan) - Sunday, 03 April 2016, 22:04 GMT
[community] is considered and important and trusted repository.
Comment by mattia (nTia89) - Sunday, 19 September 2021, 08:14 GMT
I'd like to know if the issue has been *clarified*.
Five years has been passed since the issue was *exposed*.
In the meantime, the original package was "fixed".
Anyway, today I can point to another package with the same problem: `python2-enum34` (community repo) is a dep of `python2-cryptography` (extra repo).
And I guess it is not a lonely case.

What is the *official position* about this issue?
Comment by Jelle van der Waa (jelly) - Friday, 02 June 2023, 20:21 GMT
These days [extra] and [community] have been merged so [core]/[extra] are basically required.

Loading...