Friday, 2024-12-06

*** mhen_ is now known as mhen02:09
*** elodilles_pto is now known as elodilles07:23
*** mrunge_ is now known as mrunge09:20
hberaud[m]damani o/ please can you review this patch https://review.opendev.org/c/openstack/oslo.db/+/92297609:39
hberaud[m]JayF: done, I left some comments.09:40
cardoeSo I wanted to bring up the conversation of pbr as a runtime component vs build time component.14:49
cardoeWith the upstream Python push to remove things out of the virtualenvs and slim down that runtime environment, we're seeing a lot of stuff like setuptools and such coming out. Which means that pbr will need to pull those in as a dependency. I'm all about less is more and less we have to maintain the better.14:50
cardoeSo I've been looking how different repos use pbr runtime (granted I've only done a small handful of audits) and it seems mostly around version parsing and handling.14:51
cardoeWondering if we could break that off into it's own smaller installable with less dependencies? I'm willing to do the lift here.14:51
cardoeI also don't know if you folks know of other runtime usage.14:51
-opendevstatus- NOTICE: Gerrit on review.opendev.org is being upgraded to version 3.10 and will be offline. We have allocated an hour for the outage window lasting until 1700 UTC.15:03
-opendevstatus- NOTICE: Gerrit on review.opendev.org is being upgraded to version 3.10 and will be offline starting at 1600 UTC. We have allocated an hour for the outage window lasting until 1700 UTC.15:06
clarkbcardoe: I'm working off of logs but part of the reason version handling is in pbr is that pbr needs to parse versions and pbr has done its very best to avoid any dependencies15:28
clarkbadditionally I'm not sure what benefit you get from splitting the dependencies if you still depend on pbr and the version parsing15:28
clarkbyou'll just make pbr more complicated15:29
clarkbif the goal is to drop pbr and rely on setuptools scm or similar for building/installation then I think figuring that out first is a far more important piece15:32
clarkbyou can continue to install pbr as a runtime dep in that setup to handle versioning if that remains a necessary component15:32
-opendevstatus- NOTICE: Gerrit on review.opendev.org is being upgraded to version 3.10 and will be offline momentarily. We have allocated an hour for the outage window lasting until 1700 UTC.16:01
cardoeclarkb: So my question was around I wanna install pbr but don't wanna have to pull in distutils, setuptools, and easy_install when it gets broken out just for the runtime version parsing.17:31
clarkbcardoe: I don't think pbr will pull those in since they are assumed to be present due to chicken and egg issues17:33
clarkbyou may need to refacting some of the imports to avoid pulling in those deps when not needed but it already won't install them for you17:33
clarkbs/refacting/refactor/17:34
cardoejust parsing a version is trying to import that stuff.17:36
clarkbyes because version info is directly related to package info17:37
clarkbso splitting the version out doesn't remove the dependency. Refactoring does17:37
clarkbgiven that goal I guess my suggestion would be to refactor the version handling in place within pbr to remove dependencies on those libs if possible so that pbr version handling as build time and runtime can use consistent versioning while not needing setuptools at runtime17:41
cardoeThat's what I'm after.18:31
timburkecardoe, fwiw, swift has avoided the runtime pbr dep with a block like https://github.com/openstack/swift/blob/2.34.0/swift/__init__.py#L21-L50 (though these days you could probably simplify by assuming importlib.metadata is available)18:59
cardoeNow days do we support running from a checkout? Or are we always installing it editable?19:01
clarkbI think the way devstack is set up is to assume an editable install19:28
clarkbI don't know if running directly out of a checkout is done anywhere19:28
clarkblooking at that code  Isuspect you could port that into pbr proper and that could be your workaroudn for the runtime deps19:29
clarkbbasically don't import setuptools/pkg_resources until you absolutely have to and for many that will be nevr19:29

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!