New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split weechat-plugins debian package into several packages (one per scripting language) #1085

Closed
flashcode opened this Issue Oct 15, 2017 · 2 comments

Comments

Projects
None yet
3 participants
@flashcode
Member

flashcode commented Oct 15, 2017

Currently, the weechat-plugins package contains the following plugins (sorted alphabetically):

  • aspell
  • exec
  • fifo
  • guile
  • javascript
  • lua
  • perl
  • php
  • python
  • relay
  • ruby
  • script
  • tcl
  • trigger

The purpose of this issue is to split this weechat-plugins package into 9 packages: one package per scripting language supported, and still the weechat-plugins with the other plugins.

So the packages will become:

  • weechat-plugins:
    • aspell
    • exec
    • fifo
    • relay
    • script
    • trigger
  • weechat-guile
  • weechat-javascript
  • weechat-lua
  • weechat-perl
  • weechat-php
  • weechat-python
  • weechat-ruby
  • weechat-tcl

With these packages, it is easier to install only some languages, and the package weechat-plugins does not require to install all the interpreters any more.

@flashcode flashcode added this to the 2.0 milestone Oct 15, 2017

@flashcode flashcode self-assigned this Oct 15, 2017

flashcode added a commit that referenced this issue Oct 15, 2017

debian: split package weechat-plugins into 9 packages (with one packa…
…ge per scripting language) (issue #1085)

Debian packages with plugins:

- weechat-plugins (aspell, exec, fifo, relay, script, trigger)
- weechat-guile
- weechat-javascript
- weechat-lua
- weechat-perl
- weechat-php
- weechat-python
- weechat-ruby
- weechat-tcl

flashcode added a commit that referenced this issue Nov 4, 2017

debian: split package weechat-plugins into 9 packages (with one packa…
…ge per scripting language) (issue #1085)

Debian packages with plugins:

- weechat-plugins (aspell, exec, fifo, relay, script, trigger)
- weechat-guile
- weechat-javascript
- weechat-lua
- weechat-perl
- weechat-php
- weechat-python
- weechat-ruby
- weechat-tcl

@flashcode flashcode removed the in progress label Nov 4, 2017

@flashcode flashcode closed this Nov 4, 2017

@sim642

This comment has been minimized.

Show comment
Hide comment
@sim642

sim642 Nov 5, 2017

Contributor

I haven't tried this myself (probably should) but it's a concern I've brought up before regarding such splitting of packages: upgrading from 1.9 to 2.0 breaks all script plugins and scripts because weechat-plugins package will be upgraded but it will not contain script plugins anymore and the upgrade process will not install any of the separate plugins. This very much breaking change can be documented as much as we want but the obvious truth is that most people will not go find and read WeeChat release notes when they upgrade packages through their package manager (e.g. apt upgrade) to know about it and instead will come to #weechat to ask about it again and again.

I'm wondering if there wouldn't be a better way to do the splitting which wouldn't cause such vast breakage, e.g. have a separate package weechat-core (or something), which contains aspell, exec, etc, and make weechat-plugins a metapackage that just depends on weechat-core, weechat-guile, etc. This way anyone upgrading will still get all the script plugins as they had before but they would simply get split across multiple packages. Anyone doing a new install could just install weechat-core and the desired script plugins, not everything. Anyone who has upgraded could also install weechat-core and remove the metapackage and unneeded script plugins.

I'm wondering what are everyone's thoughts about causing things to break big time.

Contributor

sim642 commented Nov 5, 2017

I haven't tried this myself (probably should) but it's a concern I've brought up before regarding such splitting of packages: upgrading from 1.9 to 2.0 breaks all script plugins and scripts because weechat-plugins package will be upgraded but it will not contain script plugins anymore and the upgrade process will not install any of the separate plugins. This very much breaking change can be documented as much as we want but the obvious truth is that most people will not go find and read WeeChat release notes when they upgrade packages through their package manager (e.g. apt upgrade) to know about it and instead will come to #weechat to ask about it again and again.

I'm wondering if there wouldn't be a better way to do the splitting which wouldn't cause such vast breakage, e.g. have a separate package weechat-core (or something), which contains aspell, exec, etc, and make weechat-plugins a metapackage that just depends on weechat-core, weechat-guile, etc. This way anyone upgrading will still get all the script plugins as they had before but they would simply get split across multiple packages. Anyone doing a new install could just install weechat-core and the desired script plugins, not everything. Anyone who has upgraded could also install weechat-core and remove the metapackage and unneeded script plugins.

I'm wondering what are everyone's thoughts about causing things to break big time.

@iam-TJ

This comment has been minimized.

Show comment
Hide comment
@iam-TJ

iam-TJ Nov 5, 2017

This should be covered by the debian/.postinst scripts. That's what they're for. Also in debian/control declaring "Breaks:"

iam-TJ commented Nov 5, 2017

This should be covered by the debian/.postinst scripts. That's what they're for. Also in debian/control declaring "Breaks:"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment