Opened 22 months ago
Last modified 13 months ago
#66787 assigned defect
buildbot: installation now requires installing rust, due to monolithic py-twisted
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | rajdeepbharati (Rajdeep Bharati), mojca (Mojca Miklavec), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), olv.bonnet@…, stromnov (Andrey Stromnov), chrisminett (Chris Minett) | |
Port: | buildbot buildbot-worker py-twisted py-bcrypt rust |
Description
buildbot and buildbot-worker depend on py310-twisted which depends on py310-bcrypt which depends on rust.
It's undesirable for an automated build tool like buildbot to have such a heavy dependency as rust. rust is huge (our buildbot machines have limited disk space) and takes hours to compile (our buildbot machines have to build all of their ports from source). We don't use this version of buildbot yet though we might like to one day.
py-bcrypt added the rust dependency when it was updated to 4.0.1 in November 2022.
What's the best solution—make py-twisted not use py-bcrypt anymore or make py-bcrypt not use rust anymore?
Change History (6)
comment:1 Changed 21 months ago by chrisminett (Chris Minett)
Cc: | chrisminett added |
---|
comment:2 Changed 18 months ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:3 Changed 18 months ago by mascguy (Christopher Nielsen)
comment:4 Changed 15 months ago by mascguy (Christopher Nielsen)
Ryan, it looks like you just updated our ports for buildbot
. Did you see my previous comment, re: modularization options for py-twisted
?
comment:5 Changed 15 months ago by mascguy (Christopher Nielsen)
Cc: | mascguy removed |
---|---|
Owner: | set to mascguy |
Status: | new → assigned |
Summary: | Installing buildbot now requires installing rust → buildbot: installation now requires installing rust, due to monolithic py-twisted |
comment:6 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)
I update ports when I see a new version is available.
I don't know if buildbot uses twisted.conch.
Perusing upstream's repo, it looks like
py-twisted
is quite modular, and provides plenty of flexibility relative to which component(s) are included:twisted.conch
: SSHv2 and Telnet clients and servers and terminal emulatorstwisted.mail
: IMAPv4, POP3, SMTP clients and serverstwisted.names
: DNS client and tools for making your own DNS serverstwisted.positioning
: Tools for communicating with NMEA-compatible GPS receiverstwisted.trial
: A unit testing framework that integrates well with Twisted-based code.twisted.web
: HTTP clients and servers, HTML templating, and a WSGI servertwisted.words
: Clients and servers for IRC, XMPP, and other IM protocolsSo we could modularize the port as well, via variants.
And it appears that module
twisted.conch
is the one that requirespy-bcrypt
:https://github.com/twisted/twisted/blob/trunk/pyproject.toml#L91
Do you know whether buildbot requires that module?