Devel newbies: различия между версиями
Becase (обсуждение | вклад) |
(→Как написать патч Оригинал находится здесь: fix spec syntax) |
||
(не показано 11 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
[[Категория:Devel]] | [[Категория:Devel]] | ||
[[Категория:errata]] | [[Категория:errata]] | ||
{{stub}} | {{stub}} | ||
Строка 17: | Строка 16: | ||
|- | |- | ||
|Чистка спека (в частности, замена путей на макросы)||{{cmd|rpmcs package.spec}} | |Чистка спека (в частности, замена путей на макросы)||{{cmd|rpmcs package.spec}} | ||
|- | |||
|Проставление зависимостей сборки в спеке||{{cmd|buildreq package.spec}} | |||
|- | |- | ||
|Отменить локальные изменения в git ||{{cmd|git reset --hard HEAD}} | |Отменить локальные изменения в git ||{{cmd|git reset --hard HEAD}} | ||
|- | |- | ||
|Преобразовать спек для бранча | |Преобразовать спек для бранча p8 || {{cmd|rpmbp -b p8 package.spec}} | ||
|- | |||
|Показать зависимости пакета || {{cmd|rpmquery -R package}} | |||
|- | |||
|Посмотреть права на пакет erthad||{{cmd|wget -O - http://git.altlinux.org/acl/list.packages.sisyphus {{!!}} egrep '^erthad'}} | |||
|- | |||
|Передать права на пакет <tt>kicad</tt> участнику команды с ником <tt>zver</tt>||{{cmd|ssh git.alt acl sisyphus kicad leader zver}} | |||
|} | |} | ||
== Как написать патч <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}} | |||
* Прописываем его в спеке в заглавной части рядом с <code>Source№:</code> в виде | |||
Patch№: %name-1.0-название_патча.diff | |||
* В секции <tt>%prep</tt> сразу после <tt>%setup</tt> следующей строкой прописываем прикладывание патча | |||
%patch№ -p1 | |||
* Пробуем собрать софтину. | |||
== Примечания == | == Примечания == | ||
{{примечания}} | {{примечания}} | ||
== Ссылки == | |||
* [[Beta testing|FAQ бета-тестера]] | |||
* [[СборкаПакетов|Сборка пакетов с etersoft-build-utils]] | |||
{{Category navigation|title=FAQ|category=FAQ|sortkey=*}} |
Текущая версия от 17:57, 6 ноября 2017
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 |
Преобразовать спек для бранча p8 | rpmbp -b p8 package.spec |
Показать зависимости пакета | rpmquery -R package |
Посмотреть права на пакет erthad | wget -O - http://git.altlinux.org/acl/list.packages.sisyphus | egrep '^erthad' |
Передать права на пакет kicad участнику команды с ником zver | ssh git.alt acl sisyphus kicad leader zver |
Как написать патч [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
- Пробуем собрать софтину.