On Tue, Sep 07, 2004 at 12:31:10AM +0400, Вячеслав Диконов wrote: > > В один и тот же пакет темы для разных версий GTK? > > Движок (engine) того же smooth'а потянет за собой GTK соответствующей > > версии, что, вообще-то, нежелательно. > Именно. Над этим я думал три дня и ничего лучшего не выдумал. Все > остальные варианты оказываются сложнее для упаковки и установки. Тогда я против. GTK+-1.x вообще-то доживает последние месяцы. > Вот они: > 1) gtk-themes-* в котором все библиотеки и gtkrc файлы тем > для gtk1 и gtk2. Недостаток - двойная зависимость. Достоинство - > простота установки и гарантированная синхронность переключения. Вы путаете gtk-themes и gtk-engines. Темы могут не зависеть от наличия libgtk+....so.X.Y.Z. Движки (engines) _линкуются_ с ними, поэтому, если вы не намерены нарушать неприличным образом процесс автоматического поиска зависимостей, то, GTK+-1 в систему попадет. С другой стороны, зависимость gtk-themes -> обе версии gtk-engines приводит к появлению непрямой зависимости на GTK обеих версий. > Сборка gtk1 части тем может быть отключена 1 переменной в spec. Я также > думаю над возможностью искусственно отключить зависимоcти таких пакетов > от gtk (Autoreq = 0) или заставить оба gtk предоставлять общее > одинаковое имя и требовать уже его. См. выше о природе этих зависимостей. Это _правильные_ зависимости. Без них ничего работать не будет. > 2) gtk1-themes-* + gtk2-themes-* Для установки темы для всей рабочей > среды нужны _оба_ пакета и поэтому gnome-themes-* требует их вместе. Это > значит, что двойная зависимость никуда не делась! Чтобы избавиться от > нее нужны условные зависимости типа "ЕСЛИ УСТАНОВЛЕН GTK1, ТО > ВИРТУАЛЬНЫЙ ПАКЕТ Х ТРЕБУЕТ ПАКЕТ Y, А В ПРОТИВНОМ СЛУЧАЕ - НЕ ТРЕБУЕТ" > Я не согласен отказаться от зависимости на все темы в вершинных пакетах > типа gnome-themes или kde-themes, потому что это лишает смысла такие > пакеты и всю затею. Ну, может, и ладно? :-) А если серьезно, то GNOME нынче уже весь GTK+-2 Реально осталось в пределах десятка приложений, которые вообще могут потребовать GTK+1, да и то, прогресс по искоренению таких приложений идет семимильными шагами. > 3) gtk-engine-* + gtk-themes или gtk1/2-engine-* + gtk1/2-themes - > CСчитаю это напрасным умножением пакетов так как с точки зрения > пользователя устанавливающего темы существование engines - лишняя > головная боль. ? Это способ отделить "код" от "хужожеств", поскольку это вполне параллельно развивающиеся сущности. Не поймите меня превратно, но мне кажется у тем и движков совершенно разный жизненный цикл. > Все модули прорисовки имеют в комплекте как минимум 1 > стандартную тему. Дополнительных тем может быть много из других > источников. Проще всего оказывается свалить всю гору исходных пакетов в > общем srpm и на выходе получать один пакет, где все лежит по > полочкам. Spec получается несложный (исключение - smooth, потому что > какой-то мудрец додумался приделать automake к десятку файлов gtkrc) а почему нет? ;-) Это нормальный способ не думать о деталях установки вообще. Промышленный. > > Удобство переключения, это, > > конечно, круто, но, во-первых, есть вопросы относительно того, всегда ли > > такая синхронность нужна, > Она нужна до тех пор, пока в Сизифе есть gtk1. Поскольку он уходящее > явление, то следует максимально упрощать всю сопутствующую > инфраструктуру и не городить лишних пакетов. Собирать все с ним > связанное я хочу в ifdef с возможностью легко отключить сборку. Ну, вообще-то, я в smooth'е уже сделал этот самый ifdef :-) А предлагать пользователю напоследок скачать GTK+-1.x из-за того, что ему понравилась какая-нибудь смазливая темка для GTK+-2 - по-моему, напрасная трата траффика. Даже не потому, что денег жалко, а непонятен смысл такого действа. > > а, во-вторых, породит вопли вида: > > захотел поставить smooth, получил две версии библиотеки => зависимости в > > ALT убитые. > Я отчасти согласен, но это неверный вывод. Да? Ну тогда объясните это всем тем, кто высказывает такое мнение на форумах и прочих отстойниках общественного сознания. > gtk1 сам по себе невелик на фоне всего, что неизбежно будет стоять в > системе с графическим интерфейсом, и почти наверняка понадобится для > вещей типа usbview или *drake. У меня не стоит этих замечательных утилит. Я многое теряю? > Кроме того, зависимость на gtk можно вообще убрать. Нет. Смотри выше, почему. > Пакеты icon-themes тоже можно поставить "в пустоту". А вот зависимости библиотек, увы, нет. По крайней мере, если вы хотите этими библиотеками пользоваться :-) > > gtk-themes-smooth, который будет требовать gtk-engines-smooth и > > gtk-themes-smooth обеих версий, то я не против. > См. вариант 2. Можно и так, но тогда будет вместо одного толстого пакета > орда мелких. Я как раз и хочу уменьшить этот эффект. Почему не предоставить машине возможность выбирать всю мелочевку, а человеку дать в руки "макроинструменты"? > Идея в том, чтобы переключение темы оказывало единообразное действие на > все установленные программы (или максимальное их число). С какой стати Опс... Это значит, что мой любимый ксемакс из темно-серого на светло-сером опять станет черным на ярко-белом? Увы, я не очень одобряю эту идею :-) > пользователей, желающих просто сделать сменить надоевшее оформление, > должны волновать различия версий gtk и вообще существование разных > библиотек? В форточках интерфейс тоже не только на MFC бывает, но > выглядит и управляется одинаково и это плюс, который следует перенять. Как это связано с вопросами пакетизации? > Хорошо. Это нужно сделать завтра, потому что за него цепляется целый > паровозик. Хех... Спешность хороша только при ловле блох. Да и то не всегда :-)