How strict are the dependencies on the django-compressor related backends?

Hi, I was evaluating the Dependencies of mailman3 in Ubuntu and I was wondering if I could cut them down a bit. One thing that got my attention is the dependency from mailman3-web 1 to nodejs for less 2 and ruby-sass 3.
I was wondering if we could by default not install node-less/ruby-sass and what exactly that would imply. I have seen they are used for python3-django-compressor integration, but not a lot of actual LESS or SASS snippets in any related package. So I was wondering if that could be optional. Unfortunately I lack the expertise in that area, so I wanted to ask the mailman3 developer and user community:
- could mailman3 work fine without those packages (making them a suggest instead of a depends)
- what features would be lost exactly to a user and/or admin of mailman3?
- I guess we would have to modify the default config at 4or 5 then
- any hints?
I'd be very pleased if you could help me to check the doability and the impact of that dependency change.
Thanks in advance, Christian
P.S. Sorry - had to resend after full subscription (not only defining user at mail.python.org) to avoid the auto-reject
-- Christian Ehrhardt Software Engineer, Ubuntu Server Canonical Ltd

Hi Christian,
Christian Ehrhardt:
I was evaluating the Dependencies of mailman3 in Ubuntu and I was wondering if I could cut them down a bit. One thing that got my attention is the dependency from mailman3-web 1 to nodejs for less 2 and ruby-sass 3.
I was wondering if we could by default not install node-less/ruby-sass and what exactly that would imply.
Thanks a lot for raising this issue. As part of the mailman3 maintainer team in Debian I would be very interested in answers to your questions as well. Would be awesome if we could get rid of the nodejs dependency for mailman3-web.
I haven't looked into the details yet, but maybe the assets could be compiled at build-time and shipped within the binary package?
Cheers jonas
I have seen they are used for python3-django-compressor integration, but not a lot of actual LESS or SASS snippets in any related package. So I was wondering if that could be optional. Unfortunately I lack the expertise in that area, so I wanted to ask the mailman3 developer and user community:
- could mailman3 work fine without those packages (making them a suggest instead of a depends)
- what features would be lost exactly to a user and/or admin of mailman3?
- I guess we would have to modify the default config at 4or 5 then
- any hints?
I'd be very pleased if you could help me to check the doability and the impact of that dependency change.
Thanks in advance, Christian
P.S. Sorry - had to resend after full subscription (not only defining user at mail.python.org) to avoid the auto-reject

On Thu, Mar 14, 2019, at 1:42 PM, Jonas Meurer wrote:
Hi Christian,
Christian Ehrhardt:
I was evaluating the Dependencies of mailman3 in Ubuntu and I was wondering if I could cut them down a bit. One thing that got my attention is the dependency from mailman3-web 1 to nodejs for less 2 and ruby-sass 3.
I was wondering if we could by default not install node-less/ruby-sass and what exactly that would imply.
Hyperkitty uses Django-compressor. Now, I don't have as good knowledge of Django-compressor to tell you if that can easily be removed as a dependency completely.
However, I do know that Django-compressor can be used to compile offline (not actively compressing when serving requests), so totally possible that a binary release could include the compressed static files and there is no need for compressors in a deployment environment.
I don't think I can explore that right now, so if someone wants to take it up to search around and contribute changes and/or release script/set of commands to release Hyperkitty which allows getting rid of sassc/lessc during runtime, I'd me happy to accept that.
Thanks a lot for raising this issue. As part of the mailman3 maintainer team in Debian I would be very interested in answers to your questions as well. Would be awesome if we could get rid of the nodejs dependency for mailman3-web.
I haven't looked into the details yet, but maybe the assets could be compiled at build-time and shipped within the binary package?
Cheers jonas
I have seen they are used for python3-django-compressor integration, but not a lot of actual LESS or SASS snippets in any related package. So I was wondering if that could be optional. Unfortunately I lack the expertise in that area, so I wanted to ask the mailman3 developer and user community:
- could mailman3 work fine without those packages (making them a suggest instead of a depends)
- what features would be lost exactly to a user and/or admin of mailman3?
- I guess we would have to modify the default config at 4or 5 then
- any hints?
I'd be very pleased if you could help me to check the doability and the impact of that dependency change.
Thanks in advance, Christian
P.S. Sorry - had to resend after full subscription (not only defining user at mail.python.org) to avoid the auto-reject
Mailman-Developers mailing list -- mailman-developers@python.org To unsubscribe send an email to mailman-developers-leave@python.org https://mail.python.org/mailman3/lists/mailman-developers.python.org/ Mailman FAQ: https://wiki.list.org/x/AgA3
Security Policy: https://wiki.list.org/x/QIA9
*Attachments:*
- signature.asc
-- thanks, Abhilash Raj (maxking)

On Fri, Mar 15, 2019 at 12:08 AM Abhilash Raj <maxking@asynchronous.in> wrote:
On Thu, Mar 14, 2019, at 1:42 PM, Jonas Meurer wrote:
Hi Christian,
Christian Ehrhardt:
I was evaluating the Dependencies of mailman3 in Ubuntu and I was wondering if I could cut them down a bit. One thing that got my attention is the dependency from mailman3-web 1 to nodejs for less 2 and ruby-sass 3.
I was wondering if we could by default not install node-less/ruby-sass and what exactly that would imply.
Hyperkitty uses Django-compressor. Now, I don't have as good knowledge of Django-compressor to tell you if that can easily be removed as a dependency completely.
However, I do know that Django-compressor can be used to compile offline (not actively compressing when serving requests), so totally possible that a binary release could include the compressed static files and there is no need for compressors in a deployment environment.
I don't think I can explore that right now, so if someone wants to take it up to search around and contribute changes and/or release script/set of commands to release Hyperkitty which allows getting rid of sassc/lessc during runtime, I'd me happy to accept that.
Thanks Jonas and Abhilash for joining the discussion!
I have checked a fully installed mailman3 stack in Debian/Ubuntu and there are only two sources of .less files that we have to be concerned of.
First there is the package fonts-font-awesome which is pulled in on the following path: python3-django-hyperkitty -> fonts-glewlwyd -> fonts-font-awesome And while fonts-glewlwyd depends on fonts-font-awesome in general to me it seems they are not related to the .less files that fonts-font-awesome provides until someone wants to modify and recompile the .less files (which I'm fine to not be "on-the-fly")
It seems different for the second case which is libjs-bootstrap from the source package twitter-bootstrap3 Here some references to that for all of you to participate in the thoughts 13 and 4. This package carries all its .less files since 5. Reading that is interesting as it seems - at least as mentioned there perfectly fine to require an admin/web-dev to install lessc (package
- the less files are only needed to modify the style. Now modification is not a runtime/runtime-dependency thing and I'd be
node-less) on his own to modify and recompile the .less files. But that would not at all require node-less to be a hard dependency of mailman3-web or similar. Lacking the experience in regard to the twitter-bootstrap3 package (e.g. are the observations/assumptions above correct?) I'm CC'ing their maintainers to be able to chime in as well.
Does anyone know of other uses of .less in the mailman3 stack that I have missed that we would have to think about?
OTOH there also is an experimental approach to this, could someone with a dev-stack of mailman3 just remove the node-less package and see if on a normal setup something breaks at all?
1: Packaging: https://salsa.debian.org/js-team/twitter-bootstrap3.git 2: Upstream: https://getbootstrap.com/ 3: Upstream-Repo: https://github.com/twbs/bootstrap 4: Package list of Files: https://packages.debian.org/stretch/all/libjs-bootstrap/filelist 5: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731750
Thanks a lot for raising this issue. As part of the mailman3 maintainer team in Debian I would be very interested in answers to your questions as well. Would be awesome if we could get rid of the nodejs dependency for mailman3-web.
I haven't looked into the details yet, but maybe the assets could be compiled at build-time and shipped within the binary package?
Cheers jonas
I have seen they are used for python3-django-compressor integration, but not a lot of actual LESS or SASS snippets in any related package. So I was wondering if that could be optional. Unfortunately I lack the expertise in that area, so I wanted to ask the mailman3 developer and user community:
- could mailman3 work fine without those packages (making them a suggest instead of a depends)
- what features would be lost exactly to a user and/or admin of mailman3?
- I guess we would have to modify the default config at 4or 5 then
- any hints?
I'd be very pleased if you could help me to check the doability and the impact of that dependency change.
Thanks in advance, Christian
P.S. Sorry - had to resend after full subscription (not only defining user at mail.python.org) to avoid the auto-reject
Mailman-Developers mailing list -- mailman-developers@python.org To unsubscribe send an email to mailman-developers-leave@python.org https://mail.python.org/mailman3/lists/mailman-developers.python.org/ Mailman FAQ: https://wiki.list.org/x/AgA3
Security Policy: https://wiki.list.org/x/QIA9
Attachments:
signature.asc
-- thanks, Abhilash Raj (maxking)
-- Christian Ehrhardt Software Engineer, Ubuntu Server Canonical Ltd
participants (3)
-
Abhilash Raj
-
Christian Ehrhardt
-
Jonas Meurer