-
Notifications
You must be signed in to change notification settings - Fork 30
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
[LMDE7] Rebase onto gjs-1.82.1 (from debian 13/trixie) - mozjs 128 support. #127
Conversation
@jbicha Is possible to add mozjs128 in Ubuntu 24.04 or should be added in specific Mint repository? |
For Ubuntu 22.04 LTS, I did add mozjs102 which nothing in Ubuntu ever used and we ended up doing security updates only for the benefit of Linux Mint. This doesn't really make sense because Linux Mint is already providing its own packages. It can handle providing a mozjs package too. For Ubuntu 24.04 LTS, there is no need for Ubuntu to have mozjs128 so it's going to be on Linux Mint to provide that. Linux Mint could probably work with Ubuntu to get the package in directly. I'm just unable to take on the responsibility of maintaining mozjs128 in Ubuntu 24.04 LTS in addition to all the other work I do. |
I'm not really worried about getting mozjs128 into Mint 22 - we already run different versions between Mint and LMDE6 editions. @Fantu which 'milestone' do we need to have a tag for this by so you can include it in trixie? |
Debian 13 freeze start 2025-03-15 and soft freeze on 2025-04-15: https://release.debian.org/testing/freeze_policy.html |
I worked on this off a trixie 'alpha 1' install. I ran into a few issues on dependencies with other packages (I don't think anything more serious than libgdk-pixbuf2.0-dev -> libgdk-pixbuf-2.0-dev) - but the cinnamon 'stack' ran ok otherwise. |
@mtwebster thanks for your work, I did a PR that adds some fixes to packaging: #128 Out of that I did this additional commit that add cjs-tests and full autopkgtest but autopkgtest failed and I have not had time to check better. |
* remove debian/watch* not needed for native package and was of gjs * d/copyright: restore cjs header * fix debian/shlibs.local * autopkgtest: partially fixed and disable installed test part for now * d/rules: restore strict check of symbols * d/gbp.conf: remove major of things as not needed or wrong for this repo * remove gitlab-ci of gjs * other fixes for autopkgtest build * d/control: replace old priority extra that was replaced by optional * debian: restore symbols with right cinnamon versions and readd the new ones * debian: fix version of new symbols
Isn't Cinnamon in Ubuntu? Cinnamon uses it.
No. For the benefit of Cinnamon. You're making it sound like Cinnamon isn't present in Ubuntu and there are no Cinnamon users in your distribution. I'm a bit confused by your statements. @Fantu we'll tag an early 6.6 CJS based on Mozjs128. We don't need to wait for the rest of Cinnamon 6.6 to be released. |
Just to confirm what Michael said, Cinnamon 6.6 will be compatible with both versions of CJS. It will work with Mozjs28 in the next Debian/LMDE but it won't need it in 24.04/Mint22.x. |
@clefebvre maybe you are getting a little confused, mint is a "semi rolling release" about cinnamon are concerned while Ubuntu as well as Debian remain fixed as software versions on the stable releases. EDIT: |
It's the statement about mozjs102 which was confusing, not the fact that mozjs128 won't be added to 24.04. Ubuntu 24.04 ships with the version of mozjs (102) its version of Cinnamon (6.0) uses. The reason mozjs102 is maintained in the 24.04 repositories is because Cinnamon 6.0 is maintained in the 24.04 repositories. This isn't done for Linux Mint (although it does indirectly benefit Linux Mint as well), it's done for Cinnamon Ubuntu users. Now, about mozjs28: It's completely irrelevant to Ubuntu 24.04 what mozjs version future Cinnamon versions depend on since the only version of Cinnamon it supports is version 6.0. So it's completely normal for @jbicha to not consider adding mozjs28 to 24.04. It would make no sense for him to do that. Last but not least, there's the Cinnamon project POV on this. Debian Stable, Ubuntu LTS, Mint and LMDE are all big targets for us. As much as possible we want to use the version of mozjs that's available in the next Debian/Ubuntu-LTS, ideally the same version that is used by GNOME, but also keep compatibility with earlier versions when it's possible. |
I guess my statement earlier was unclear so let me try again: I prepared multiple security releases of mozjs102 for Ubuntu 22.04 LTS. There was no package in Ubuntu 22.04 LTS itself that has ever used mozjs102. |
Indeed, in 22.04 Cinnamon used mozjs78 afaik. Why was mozjs102 present/added? |
Ubuntu 22.04 LTS was dual purpose.
If that is still a concern, I do not understand why you can't package newer versions of mozjs and distribute them for Linux Mint and LMDE the same way you distribute your own version of cinnamon, nemo, etc. The delay affects me because I am the person responsible for keeping mozjs* working in Debian and Ubuntu. The only reason I have been updating mozjs115 in Debian and Ubuntu 25.04 since October is because of cjs. |
Alright, I think that's the kind of things we don't really realize on our side. We can ship/maintain newer mozjs pkgs but for the same reasons you mentioned, we prefer not to. That said, if we can reduce the work involved in Debian and Ubuntu by syncing better with your version of mozjs, or GNOME's, then we definitely want to do that. There used to be one and only one CJS for each version of Cinnamon, with no backward compatibility. That's more flexible now, we can ship Cinnamon 6.6 on different versions of CJS/mozjs. We can also tag early like we're doing now. |
Thanks for the reply. This sounds good to me. I've noticed that it's a lot easier to update to newer versions of gjs or stay on older versions than it used to be for the GNOME apps that use gjs. Unfortunately, with the Firefox release schedule, this is an annual thing so we'll already be trying to switch to mozjs140 in 6 months even though it doesn't exist yet. If it would ever be possible to rebase Cinnamon onto gjs, it would also solve this problem. I know that's been discussed before but I have no idea how far apart the two projects are currently. |
CJS rebases on GJS, but Cinnamon using GJS directly is not viable. It's not designed to be used by anything else than GNOME. It's not developed in a way that wouldn't break for Cinnamon every so often. We would require constant changes in Cinnamon to adapt to it and we wouldn't be able to ship Cinnamon to multiple distributions as a result. This is the reason CJS and Muffin were forked in the first place, so that Cinnamon could work in any distribution, regardless of the version of GNOME that the distribution shipped with. The ideal situation for a particular package base would be to have GJS and CJS, both using the same version of mozjs. We'll have a talk within the team to see if we can come up with more solutions. I think the retro-compatibility and the disassociation of CJS releases and Cinnamon releases (right now in terms of timing but eventually maybe even in terms of versioning) will definitely help. Although it requires more testing and more flexibility in terms of compatibility, it basically means we can release CJS versions targeted at Debian, Ubuntu or more modern package bases, without having to wait for a Cinnamon release, or care when and/or if Mint or LMDE will be using them. |
@Fantu @jbicha we merged support for mozjs128. We're almost ready to tag. We're thinking about changing the versioning for CJS. Instead of being 6.6.x, it would be 128.x. We're seeing the following pros:
Potential cons:
Do you see any other cons to doing that? Let us know what you think. |
With use of multiple versions for different mozjs as you wrote will be better a different versioning and same version of mozjs used seems to be good. |
This is great! Any plans to release a new version so distros can build/pack? Thanks! |
I didn't need a release, patching is cool as it's makes it easier to rollback if needed. https://bodhi.fedoraproject.org/updates/FEDORA-2025-f282eabd0d |
Yeah, just testing the new version scheme atm. |
Alright, 102, 115 and 128 are now tagged. |
Interesting. Let me try to understand. Cjs was in version 6.4.0, and now it has 3 new versions related to mozjs versions (102, 115 and 128). What will happen in terms of versioning when cjs receives a new release (let's say before a new mozjs version is released)? |
Right, so it's actually using a major and a minor version: X.Y. X being the version of mozjs. The tags aren't 102, 115, 128, they're 102.0, 115.0, 128.0. If we fix something on 128.0, we'll tag 128.1 and so on. |
@clefebvre, I see now. Thanks for clarifying :) Cheers |
Required for LMDE7, supports mozjs 128 (not available in Mint 22 currently)