kde-gtk-config без gtk3
Danhuu 17 декабря, 2013 - 14:01
С интересом выяснил, что ЕДИНСТВЕННЫЙ пакет, тянущий в мою систему gtk3 (и, в свою очередь, её зависимости) - это kde-misc/kde-gtk-config. Нужно это ему всего-навсего для превьюшки, там же есть типа патч, причём рабочий, который позволяет включать/отключать поддержку той или иной версии gtk.
К стыду своему, я не умею накладывать патчи. Пожалуйста, расскажите мне (на уровне младшего брата по разуму):
- Как на основе этой страницы сформировать патч?
- Как его наложить? Я честно читал
man patch
, но не хватило базовых знаний - запутался. - Как этот патч подключить к ebuild-у, чтобы там были флаги gtk2 и gtk3
Вот источник, только уберите подчёркивание - пришлось добавить, чтобы спам-фильтр не ругался.
https://git.review_b_o_ard.kde.org/r/110636/
»
- Для комментирования войдите или зарегистрируйтесь
Вам нужно поместить этот
Вам нужно поместить этот ebuild в локальный оверлей и добавить в него, например функцию 'src_prepare'
src_prepare
в ней прописать наложение патча из файла, либо добавить функцию epatch_user и затем разместить патч в /etc/portage/patches, более подробно читайте здесь: http://megabaks_blogspot_ru/2012/10/portage.html
В имени домена "_" заменить на ".".
Зачем этот спамфильтр ?!!!
Для того, что бы получить собственно патч вам нужно сделать копию файла в который будете вносить изменения, внести изменения в копию и затем посредством утилиты diff сделать контекстный патч, о том какими ключами воспользоваться почитайте в Internet.
С другой стороны, если вы хотите сделать всё более правильно, то вам так же нужно добавить флаг, например gtk3, для включения и отключения наложения патча. Заодно после получения патча и ebuild`а можете написать запрос с багзиллу с предложением включения вашего патча и ebuild`а в основное дерево. Но не факт, что примут, сейчас постепенно идёт переход на gtk3.
>Заодно после получения патча
>Заодно после получения патча и ebuild`а можете написать запрос с багзиллу с предложением включения вашего патча и ebuild`а в основное дерево.
Ключевое слово – можете. Истинный смысл: можете писать/не писать – с одинаковым результатом.
Во-первых, спасибо, далее по
Во-первых, спасибо, далее по пунктам:
С этим-то более-менее понятно.
Самому интересно, но пока я методом тыка не сообразил изуродовать ссылку, моё сообщение не хотело отправляться, ругаясь на спамфильтр.
Вы явно переоцениваете мой уровень :-). Я не смог разобраться даже с наложением патча...
1) Создание локального
1) Создание локального оверлея:
2) Копируем нужный ebuild в локальный оверлей и делаем необходимые подготовки:
3) Как делать/применять патчи:
http://dskarataev.ru/2011/09/sozdanie-i-nalozhenie-patchej/
Полученный патч нужно положить в каталог /usr/local/portage/kde-misc/kde-gtk-config/files
4) В вашем новом ebuild (/usr/local/portage/kde-gtk-config/kde-gtk-config-999.ebuild) создаете секцию src_prepare и добавляете в нее такой код:
5) Создание манифеста для полученного ebuild'a:
6) Пробуем установить :-)
P.S. В целом все должно сработать.
Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...
Итак, оно заработало, спасибо
Итак, оно заработало, спасибо знатокам!
Да, ещё раз попытаюсь объяснить, а то люди зря тратят своё время, описывая уже известные мне вещи, а о неведомом говорят вскользь, типа любой дурак знает. К сожалению, не любой. Про локальный оверлей я прекрасно знаю в объёме Вики, и он у меня работает не первый год. Но: В программировании я типичный хомяк-самоучка - нахватался по форумам/Гуглу/Вики, и многих азов, о которых там не пишут, соответственно не знаю. Хуже всего, что из-за этого я половину мануалов не понимаю - терминология, да ещё английская. Например, что такое "version bump", никакие Гугл и Яндекс мне не ответили.
Делал в итоге так:
CMakeLists.txt
иsrc/gtkconfigkcmodule.cpp
:Вот такие патчи получились: http://codepad.org/lDNvkyg6 и http://codepad.org/HglORPKS
Остались вопросы:
Цитата: Как в ebuild-е
А вы почитать другие секции Gentoo Dev Manual не пробовали ? Ну или посмотреть другие ebuild`ы на предмет того, как это реализовано.
Вот пример:
Т.е. в вашем случае что-то вроде:
Пробовал, представьте себе,
Пробовал, представьте себе, понял, что это должно быть в
src_configure()
Но как изменять значения переменных в .cpp файлах (это С++ ?) я понятия не имею. Ваш пример к делу не относится, пожалуйста, прежде чем писать (а тем более, наезжать, типа читал ли я DevManual), прочитайте внимательно предыдущие посты.
Цитата:Но как изменять
Патчем.
Ну и строго говоря наложение патчей всё же в src_prepare() .
А я грешным делом как раз и стал думать, что ваши патчи и предназначены для исключения необходимости GTK3.
Тогда мне не понятен вообще ваш вопрос. Перечитайте лучше вы предыдущие посты.
Насколько я понял у Вас все
Насколько я понял у Вас все заработало, но Вы хотите сделать все по правилам.
Тогда костик прав, Вам нужно немного поправить код, который вы добавили к ebuild примерно так:
Если включен юз-флаг gtk3 - выйти из данной секции, в противном случае наложить патчи.
Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...