Слот, это вроде бы как некоторая версия приложения, только определяет её мейнтейнер, а не разработчик приложения. Это сделано на тот случай, когда разработчик выкатит две версии приложения с одинаковыми номерами версии, но ломающими изменениями. Тогда мейнтейнер такой «хоппа» и установит эти версии в разные слоты. Некоторые скажут, что слоты не для этого, но для чего - они объяснить не могут.
Я предлагаю вместо слотов использовать интервалы, как в математике - от такой-то версии до такой-то версии, и скобочки: квадратые включительно, круглые - не включая.
Тогда первый слот будет, допустим:
SLOT="[0.0.0-1.2.34]"
следующий
SLOT="(1.2.34]-[2.6.1)"
дальше
SLOT="[2.6.1-)"
По-умолчанию:
SLOT="(-)"
если возникнет редкая проблема что версии у пакетов одинаковые, а работают они по-разному, ну, можно букву добавить (на усмотрение мейнтейнера):
SLOT="[2.6.1a-)"
Таким образом, в любой момент можно разделить слот в любой точке оси версий на два, и при этом не надо будет переписывать зависимости во всех пакетах, ссылающихся на этот слот.
Возможно, что слоты могут потребоваться не по причине использования разных версий, а по другой какой-то причине. Тогда можно её просто через запятую приписать:
SLOT="(-),debug"
Сравнивать версии всё равно тогда останется возможность.
«Открой для себя сабслоты» напишут они.
Возможность сохранить сабслоты остаётся:
SLOT="(-),debug/subslot"
Хотя я так до сих пор и не понимаю, как это работает и какая вообще связь между зависимостями/версиями и запуском (triggering) перестроения.