Devel newbies
Материал из ALT Linux Wiki
(Различия между версиями)
Becase (обсуждение | вклад) (→Полезные команды) |
Becase (обсуждение | вклад) (Добавлен пункт "Как написать патч".) |
||
Строка 28: | Строка 28: | ||
|Посмотреть права на пакет||{{cmd|wget -O - http://git.altlinux.org/acl/list.packages.sisyphus | egrep '^erthad'}} | |Посмотреть права на пакет||{{cmd|wget -O - http://git.altlinux.org/acl/list.packages.sisyphus | egrep '^erthad'}} | ||
|} | |} | ||
+ | |||
+ | == Как написать патч <ref>Оригинал находится [http://forum.altlinux.org/index.php/topic,927.msg23517.html#msg23517 здесь]</ref> == | ||
+ | Рассмотрим стандартный случай - есть каталог {{path|~/RPM}}, в котором есть {{path|BUILD}}, в котором лежит распакованный тарбол софтины {{path|softina-1.0}}. | ||
+ | К примеру, нам нужно сделать изменения в файле {{path|main.cpp}} | ||
+ | * {{cmd| cd ~/RPM/BUILD/softina-1.0}} переходим в каталог с исходниками | ||
+ | * {{cmd| cp main.cpp main.cpp.orig}} сохраняем оригинал | ||
+ | * Правим файл {{path|main.cpp}} | ||
+ | * В каталоге {{path|~/RPM/BUILD}} говорим мантру {{cmd | gendiff ./softina-1.0 .orig > ~/RPM/SOURCES/softina-1.0-название_патча.diff}} | ||
+ | * Прописываем его в спеке в заглавной части рядом с <tt>%source№</tt> в виде | ||
+ | %patch№ %name-1.0-название_патча.diff | ||
+ | * В секции <tt>%prep</tt> сразу после <tt>%setup</tt> следующей строкой прописываем прикладывание патча | ||
+ | %patch№ -p1 | ||
+ | * Пробуем собрать софтину. | ||
== Примечания == | == Примечания == | ||
{{примечания}} | {{примечания}} |
Версия 13:12, 7 апреля 2011
FAQ для начинающего разработчика.
Полезные команды
Описание | Команда |
---|---|
Получить ветку 5.1 с коммитом в репозиторий 5.1 [1] | girar-fetch-build-commit -b 5.1 |
Получить список всех макросов | rpm --showrc |
Чистка спека (в частности, замена путей на макросы) | rpmcs package.spec |
Проставление зависимостей сборки в спеке | buildreq package.spec |
Отменить локальные изменения в git | git reset --hard HEAD |
Преобразовать спек для бранча 5.1 | rpmbph -M51 package.spec |
Показать зависимости пакета | rpmquery -R package |
Посмотреть права на пакет | wget -O - http://git.altlinux.org/acl/list.packages.sisyphus |
Как написать патч [2]
Рассмотрим стандартный случай - есть каталог ~/RPM, в котором есть BUILD, в котором лежит распакованный тарбол софтины softina-1.0. К примеру, нам нужно сделать изменения в файле main.cpp
- cd ~/RPM/BUILD/softina-1.0 переходим в каталог с исходниками
- cp main.cpp main.cpp.orig сохраняем оригинал
- Правим файл main.cpp
- В каталоге ~/RPM/BUILD говорим мантру gendiff ./softina-1.0 .orig > ~/RPM/SOURCES/softina-1.0-название_патча.diff
- Прописываем его в спеке в заглавной части рядом с %source№ в виде
%patch№ %name-1.0-название_патча.diff
- В секции %prep сразу после %setup следующей строкой прописываем прикладывание патча
%patch№ -p1
- Пробуем собрать софтину.