Commit Graph

29 Commits

Author SHA1 Message Date
Martin Weinelt
25755c0d20
discourse: 3.1.0 -> 3.2.2
https://meta.discourse.org/t/3-1-1-security-and-bug-fix-release/278760
https://meta.discourse.org/t/3-1-2-security-and-bug-fix-release/282427
https://meta.discourse.org/t/3-1-3-security-and-bug-fix-release/284973
https://meta.discourse.org/t/3-1-4-security-and-bug-fix-release/290939
https://blog.discourse.org/2024/01/celebrating-discourse-3-2/
https://meta.discourse.org/t/3-2-1-security-and-bug-fix-release/298237
https://meta.discourse.org/t/3-2-2-bug-fix-release/307780

Co-Authored-By: Christian Albrecht <christian.albrecht@mayflower.de>
Fixes: CVE-2023-38706, CVE-2023-40588, CVE-2023-41043, CVE-2023-41042,
       CVE-2023-44388, CVE-2023-43814, CVE-2023-45147, CVE-2023-43659,
       CVE-2023-44391, CVE-2023-45131, CVE-2023-47120, CVE-2023-45816,
       CVE-2023-46130, CVE-2023-47119, CVE-2023-47121, CVE-2023-45806,
       CVE-2023-49099, CVE-2024-21655, CVE-2024-21655, CVE-2023-48297,
       CVE-2024-24748, CVE-2024-24827, CVE-2024-27085, CVE-2024-27100,
       CVE-2024-28242
2024-05-27 13:36:51 +02:00
Martin Weinelt
5cf005119a
discourse: strip markers from plugin compat spec
The plugin updater would previously stumble over compat spec version
entries that begin with angled brackets.

````
< 3.3.0.beta1-dev: 56b0de3896361b6a87523537c8f5b450d2fe0807
3.2.0: 33c43ca51ac7b7baa8a309a269dcf8685b8bd638
< 3.2.0.beta2-dev: ac930c509e2a5b0c37b84bcea28d332e686add95
3.1.999: a304cd2028ccf1f5b00f5137633aa7027a1fd334
3.1.0.beta3: 9c270cac9abc1c2b30574d8c655fb3a90546236b
[...]
````
2024-05-27 10:58:26 +02:00
Martin Weinelt
3106519f14
discourse: rely on packaging module for version comparison
The distutils module is deprecated and was removed in Python 3.12, which
would eventually break this updater.
2024-05-27 10:58:25 +02:00
Marcel Müller
77b7dc52cf discourse: Fix update.py handling newlines
The update.py script would error out if the spec had a trailing new
line. The split that follows it would try to split it into two, and
error out as it can't.
2023-09-13 14:48:34 +02:00
talyz
0dcc8c9adb
discourse: Update plugins
Co-authored-by: Paul Grayson <pdg@alum.mit.edu>
2023-02-09 17:36:36 +01:00
Benno Bielmeier
7215603cb9 discourse.plugins.discourse-reactions: Init 2023-01-31 12:19:20 +09:00
Ryan Mulligan
093b3a604f
Merge pull request #186331 from ryantm/discourse-bbcode-color
discourse.plugins.discourse-bbcode-color: init
2022-09-16 12:27:36 -07:00
Ryan Mulligan
3d332125a4 discourse.plugins.discourse-bbcode-color: init 2022-08-12 13:04:12 -07:00
talyz
f34bc06abc
discourse: Filter out :require_name option when creating the Gemfile
:require_name is internal to Discourse and Bundler throws an error
when it's passed through to the Gemfile.
2022-08-12 12:21:05 +02:00
talyz
d46598d4f4
discourse-mail-receiver: Add update_mail_receiver to update.py 2022-03-25 12:06:14 +01:00
talyz
04afc69a29
discourse: 2.9.0.beta1 -> 2.9.0.beta3 2022-03-25 12:05:48 +01:00
talyz
1138af5637
discourse: Add aarch64-linux to the list of platforms to be removed
...in the update script and remove it from the Gemfile.lock. Having
it there causes a failure with the error message:

Could not find libv8-node-16.10.0.0-aarch64-linux in any of the
sources (Bundler::GemNotFound)

And since we're not using the prebuilt binary packages anyway, we
don't need it there in the first place.
2021-12-23 10:24:18 +01:00
talyz
4fb343c87e
discourse: update.py: Improve version handling, use pinned plugins
Add a DiscourseVersion class which handles Discourse's version
numbering properly when sorting - beta versions are sorted lower than
their respective release versions. It can also return both its version
number and equivalent git tag, removing the need for `rev2version` and
manually adding `v` to the front.

Using DiscourseVersion instead of LooseVersion, we can list all
current version number tags from the `discourse` repo and sort them
correctly, giving us the latest one, regardless of type; i.e. we don't
have to filter for only release versions or beta versions anymore.

This also implements the plugin pinning algorithm laid out here:
https://meta.discourse.org/t/pinning-plugin-and-theme-versions-for-older-discourse-installs/156971
to make sure we don't upgrade plugins further than what's compatible
with our currently packaged Discourse version. While it likely won't
matter much most of the time if we continue packaging the beta
versions, it could be helpful if we decide to go back to packaging
release versions or if we run into issues with future upgrades. In
that case, the plugins could still be updated safely even though we're
not on the latest version of Discourse.
2021-12-02 11:55:07 +01:00
talyz
ab042d6452
discourse.plugins: Update all plugins to their latest versions
Also, add support for updating plugins which keep gem versions in
files at the root of the repo (discourse-prometheus) and replace the
`up-plugin.sh` script with a README file pointing to the plugin
packaging documentation.
2021-12-02 10:43:14 +01:00
talyz
e2415dbb8f
discourse: 2.7.9 -> 2.8.0.beta9
Update to the latest beta, since upstream advocates for it. See
https://github.com/NixOS/nixpkgs/issues/146308 for more info.
2021-12-02 10:31:00 +01:00
Ryan Mulligan
88120a1377 discourse/update.py: use nix-instantiate
The interface of `nix eval` is not stable across versions of nix that
are currently in the wild, so use the older nix-instantiate command
instead.
2021-11-16 15:59:32 -08:00
Tobias Stenzel
34ba7d2fdc discourse.plugins.discourse-voting: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel
3251a4a7d2 discourse.plugins.discourse-saved-searches: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel
7584343790 discourse.plugins.discourse-prometheus: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel
9ede32d45c discourse.plugins.discourse-docs: Init 2021-10-26 23:24:09 +02:00
Tobias Stenzel
ecb1b736c7 discourse.plugins.discourse-chat-integration: Init 2021-10-26 23:24:09 +02:00
Tobias Stenzel
1ef543a549 discourse.plugins.discourse-assign: Init 2021-10-26 23:24:09 +02:00
Ryan Mulligan
70d29c5cf4 discourseAllPlugins: init discourse-ldap-auth 2021-08-18 10:12:41 -07:00
talyz
12ff4b79e4
discourse: update.py: Remove native platforms in plugin lock files..
...and add ruby.
2021-08-17 18:21:27 +02:00
talyz
f8096460bd
discourse.plugins: Make the updater able to package plugins
Let the update.py script handle the initial, repetitive task of
packaging new plugins. With this in place, the plugin only needs to be
added to the list in `update-plugins` and most of the work will be
done automatically when the script is run. Metadata still needs to be
filled in manually and some packages may of course require additional
work/patching.
2021-08-17 18:21:15 +02:00
Ryan Mulligan
32e24e792c discourse/update.py: add missing plugins 2021-08-05 13:25:38 -07:00
talyz
a2dbc3af1d
discourse: Remove architecture bound platforms from Gemfile.lock
Maybe bundix doesn't handle them properly? They cause runtime issues
and don't seem necessary when the binary gems are built from scratch
anyway.
2021-07-14 13:18:12 +02:00
talyz
3300282db3
discourse: Add update-plugins action to update.py 2021-07-14 13:17:55 +02:00
talyz
5138941ad3
discourse: Add updater script 2021-04-05 13:55:52 +02:00