В пользовательском окружении GNOME 45, релиз которого намечен на 25 сентября, изменена организация загрузки модулей в дополнениях к GNOME Shell, что приведёт к нарушению обратной совместимости и потребует внесения изменений в дополнения. Дополнения, разработанные для прошлых версий GNOME, не смогут работать в выпуске GNOME 45, а дополнения, адаптированные для работы в GNOME 45, не смогут устанавливаться в прошлых версиях GNOME. Для сохранения совместимости с разными выпусками GNOME разработчикам дополнений необходимо загрузить в каталог extensions.gnome.org два варианта дополнения: один для GNOME 45 и следующих за ним выпусков, а другой для старых выпусков GNOME.

Нарушение совместимости вызвано переходом GNOME Shell с собственной системы импорта модулей, специфичной для JavaScript runtime GJS (GNOME JavaScript на базе движка SpiderMonkey от проекта Mozilla), на стандартный механизм импорта, JavaScript-модулей (ESM), описанный в спецификации ECMAScript 6 и применяемый в web-приложениях. Отличия сводятся к тому, что ранее в дополнениях к GNOME Shell для подключения JavaScript-модулей и GObject-обвязок применялся объект "imports", а теперь должен использоваться оператор "import".

// Былоconst GLib = imports.gi.GLib;const Main = imports.ui.main;imports.gi.versions.Soup = ‘3.0’;const Soup = imports.gi.Soup;// Сталоimport GLib from ‘gi://GLib’;import * as Main from ‘resource:///org/gnome/shell/ui/main.js’;import Soup from ‘gi://Soup?version=3.0’;

Для работы в GNOME 45 и более новых выпусках в дополнениях необходимо изменить код, связанный с загрузкой библиотек, обеспечить присутствие в файле extension.js методов enable()/disable() в классе default и при использовании prefs.js определить подкласс ExtensionPreferences с методом fillPreferencesWindow. Изменённую версию дополнения следует привязать к новыми выпускам GNOME Shell через параметр '"shell-version": [ "45" ]' в metadata.json. Для GNOME до выпуска 45 можно сформировать отдельные варианты дополнений, также обеспечив в них привязку к старым версиям через параметр shell-version в metadata.json. Протестировать изменённые дополнения можно воспользовавшись сборками GNOME OS.

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter <<<

  • sorrow
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    протолкнул RedHat

    Какую власть RedHat по твоему использовал чтобы “протолкнуть” его в другие дистрибутивы, кроме так или иначе связанных с RedHat?

    • cryptOP
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      4 из девяти человек в совете дебиана были на зарплате редхата или как-то так. люди в дебиан на что по твоему живут? платят им корпорации.

      • sorrow
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        Я что то говорил про дебиан? Дебиан вообще не десктопный дистьрибутив.

        • cryptOP
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          Типа ты предлагаешь мне угадать, о чем ты подумал?

        • odalist
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          Дебиан вообще не десктопный дистьрибутив.

          Больше конкретики. Пожалуйста.

        • fox_mulder
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          Дебиан универсальный дистрибутив, под задачи обрабатывается напильником.

          • sorrow
            link
            fedilink
            arrow-up
            0
            ·
            3 years ago

            Дебиан универсальный дистрибутив

            Вот только для десктопа дистрибутив с релизным циклом в 2 года абсолютно не подходит. Как ты ни допиливай там его напильником.

            • fox_mulder
              link
              fedilink
              arrow-up
              0
              ·
              3 years ago

              Нормально подходит. Если архихочется понаяривать на версии некоторых программ - есть самодостаточные пакеты.

            • cryptOP
              link
              fedilink
              arrow-up
              0
              ·
              3 years ago

              убунту (дебиан по сути) с этим справляется