[Nick wrote:]
>>> However, there *are* folks that have been working on allowing
>>> applications to be defined primarily as Python projects, and then have
>>> the creation of wrapper native installers be a pushbutton exercise,
>>> rather than requiring careful human handholding.

[Nathaniel wrote:]
>> But it sounds like they also want to be able to install/remove/upgrade
>> *parts* of the Python project, for their plugin support.

[Brad wrote:]
> That’s correct. We currently have 18 official plugins for Certbot with plans 
> to add more and a few dozen third-party plugins.
>> Do any of these tools allow that?
> This is a good question. If we went with something like dh-virtualenv or 
> packaged virtualenvs with fpm, would we be able to have separate packages for 
> our plugins that installed things in the same virtualenv? I haven’t looked 
> into this yet, but I wouldn’t expect this to work.

As long as the base package puts the virtualenv in a pre-defined
location, then other packages can add to it (at least in the world of
RPM - I'm assuming similar things would be possible with Debian
control files).

The trick is that the base package then becomes a build dependency in
addition to being a runtime dependency, as you'll need it to set up
the correct filesystem layout in the build root.

I don't think there are any predefined helpers in fpm for that kind of
model though, so you'd likely need some additional automation around
setting up auto-generation of certbot-plugin packages (whereas certbot
itself could likely use the existing virtualenv helpers).

However, the other main option is to handle this in a way similar to
what Mozilla does for Firefox plugins: use the system package manager
to keep the base application up to date, but use application provided
tooling to keep the plugins up to date.

If you did that, then the plugins wouldn't get native system packages
at all - they'd all remain solely as Python packages, and then the
system level certbot package would install a privileged cron job to
handle venv updates.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/Q7PLR5DU46EEI4MOJWFG4B66OXSVKWXU/

Reply via email to