Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: применить патч к плагину компиза  (Прочитано 1288 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн justed

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
применить патч к плагину компиза
« : 22 Октября 2010, 22:15:58 »
в 10.10 что-то поломали и перестал работать плагин компиза wallpaper который делал разные обои на раб столах
вот тут https://bugs.freedesktop.org/show_bug.cgi?id=30260 в самом низу, предлагают какой-то фикс этого бага
так вот
чем этот патч применить, потом как это скомпилить, и куда наконец все это дело положить? :-\

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: применить патч к плагину компиза
« Ответ #1 : 22 Октября 2010, 23:36:49 »
может стоит подождать когда пакетик пофиксят и выкачать это с обновлениями? Система же без этой фичи не падает.

По делу:
1 Достань сорцы с помощью apt-get source имя_пакета (обрати внимание на отсутствеу sudo можешь считать это очень важным, эту команду нужно запускать от нормального пользователя)
2 Достань зависимости сборки sudo apt-get build-dep имя_пакета
3 Попробуй применить патч:
cd /path/to/extracted/sources
patch -p1 < /path/to/patch/file
там на самом деле не патч а diff сделанный git'ом поэтому нужно не стандартным образом с -p0 а именно с -p1 патчить, чтобы игнорировать несуществующие префиксы a/ и b/ в путях.
4 запустить dpkg-buildpackage -b
5 выйди на одну директорию выше и установи собранные deb пакеты

Hint можно в debian/changelog добавить доп запись с новой версией пакета в духе (это пример от другого пакета, так что не делай один в один, а просто по аналогии)
qremotesignal (1.2.0-0ubuntu1-mypatch1) maveric; urgency=low
  * Applied my additional patch

 -- Sergey Vidyuk (MahjongNight developer) <sir.vestnik@gmail.com>  Tue, 24 Aug 2010 21:53:07 +0200
обрати внимание на формат версии, на то, что в подписе перед датой два пробела и на формат даты. Такую дату можно получить командой date -R

P.S. На будущее, такие вопросы лучше в сборке пакетов задавать. Тут могут нехорошего насоветовать, в духе собрать руками и сделать sudo make install, а потом ты будешь пытаться всё вычистить, когда исправленный пакет в репах появится. Может модераторы как до этого поста доберуться его в сборку пакетав и отправят.

Оффлайн justed

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: применить патч к плагину компиза
« Ответ #2 : 23 Октября 2010, 12:56:06 »
VestniK спасибо что помогаешь
так, вроде бы разобрался но не получается..
качаю через apt-get source пакет compiz-fusion-plugins-extra перехожу в его директорию и там в папке src/wallpaper/ лежат три файла: Makefile.am Makefile.in wallpaper.c тогда как в тексте патча упоминаются только wallpaper.cpp
wallpaper.h

и видимо поэтому при применении patch -p1 < получаю
patching file src/wallpaper.cpp
Hunk #1 FAILED at 96.
Hunk #2 FAILED at 112.
Hunk #3 FAILED at 367.
Hunk #4 FAILED at 620.
Hunk #5 FAILED at 672.
5 out of 5 hunks FAILED -- saving rejects to file src/wallpaper.cpp.rej
а если скачать отсюда http://gitweb.compiz.org/?p=compiz/plugins/wallpaper;a=tree;f=src;h=c15263d8a661c42ddf8352704d546cb451f6c9f0;hb=HEAD файлы wallpaper.cpp wallpaper.h и попытаться пропатчить их, то ошибок не выдает, и видимо они патчатся нормально, только что с ними затем делать? ???

а вообще там на сайте уже оставили:
Цитировать
Jesse Adkins 2010-10-22 14:42:04 PDT
Fixed by commit 1a0d9324b3d9fd93e685066e0e5cea0611878c0d October 17 2010.
Closing.
и видимо не далек тот день когда его поправят и в репах убунты, но на будущее умение применять патчи не помешает, поэтому если не сложно разъясните что я делаю не так :-\

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: применить патч к плагину компиза
« Ответ #3 : 23 Октября 2010, 17:27:42 »
Там патч делался относительно гита, вроде судя по тексту относительно тега 0.9. Проблема в том, что в убунте версия сорцов этого пакета отличается, и судя по тому что тебе выдал patch там есть изменения в тех же самых участках кода, которые изменяются патчем. При наличии конфликтющих правок только человек может всё исправить.

Есть ещё вариант:
1 Вытащи из git версию сорцов которая содержит исправление для этой проблемы
2 Сделай tar.gz архив этих сорцов. Имя должно быть packagename_version.orig.tar.gz.
3 Из папки с исходниками полученными через apt-get source возьми папку debian и положи в папку полученную git'ом
4 Переименуй папку полученную git'ом так, чтобы название соответствовало формату packagename-version (тут тире перед версией, а у архива подчёркивание перед версией и это важно)
5 Подправь debian/changelog пример я тебе выше привёл. Там нужно правильно указать имя пакета и версию.
6 В папке которая получалась в результате этих манипуляций запусти dpkg-buildpackage -b
7 Установи собранные пакеты

Пользователь решил продолжить мысль 23 Октября 2010, 17:35:54:
а вообще почитай прикреплённые темы в разделе сборка пакетов: https://forum.ubuntu.ru/index.php?topic=2159.0 https://forum.ubuntu.ru/index.php?topic=2159.0 там подробней.
« Последнее редактирование: 23 Октября 2010, 17:35:54 от VestniK »

Оффлайн justed

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: применить патч к плагину компиза
« Ответ #4 : 23 Октября 2010, 21:29:39 »
еще раз спасибо, буду читать и просвещаться   :-\

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.