Devel newbies
Материал из ALT Linux Wiki
(Различия между версиями)
Becase (обсуждение | вклад) (→Полезные команды) |
|||
(10 промежуточных версий не показаны.) | |||
Строка 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}} | ||
+ | * Прописываем его в спеке в заглавной части рядом с <tt>%source№</tt> в виде | ||
+ | %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=*}} |
Текущая версия на 22:58, 11 августа 2016
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
- Пробуем собрать софтину.