![]() |
Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Поделиться |
![]()
Сообщение
#1
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: ![]() ![]() ![]() |
Предлагаю в эту тему складывать документацию ( или ссылки на нее ) по поводу спеков, макросов , сборки пакетов , хашера и подобных вопросов нужных начинающему сборщику / кодеру / программисту. На эту мысль меня натолкнула отличная инструкция от Анатолия которая как-то незаметно утонула в недрах форума ALT Linux , вместе с моими бреднями по этому вопросу. Вчера как раз развлекался сборкой пакета в чруте, вспомнил про инструкцию Толи посмотрел - отличная вещь.
Прибьем ее сюда гвоздями , думаю Анатолий возражать не будет ![]() ![]() Сообщение отредактировал kostyalamer - 29.11.2011, 21:36 |
|
|
![]() |
![]()
Сообщение
#2
|
|
Специалист ![]() ![]() ![]() ![]() Группа: Активный Пользователь Сообщений: 117 Регистрация: 28.6.2015 Вставить ник Цитата Из: Прокопьевск Пользователь №: 2818 Страна: Россия Город: Не указан Пол: Муж. Репутация: ![]() ![]() ![]() |
Поделюсь-ка здесь своим опытом осваивания gear. Работать в нём удобно, но требуются навыки. Для облегчения жизни, сделал пару скриптов.
1. Скрипт для инциализации нового окружения gear на базе архива исходного кода. Будет создан gear-репозиторий пакета в каталоге $HOME/gear/. Формат команды: gear-init.sh /path/to/source.tar.gz Содержимое: #!/bin/sh arhiv_name=$(basename $1) package_name=${arhiv_name%-*} if echo "$arhiv_name" | grep -q .tar. then package_extens="tar.${arhiv_name##*.}" else package_extens=${arhiv_name##*.} fi mkdir -pv $HOME/gear/$package_name cd $HOME/gear/$package_name git init gear-update -v -c $1 $package_name git add -v $package_name git commit -a -m "Import archive $1" mkdir -v .gear touch .gear/rules echo "$package_extens: $package_name" > .gear/rules git add -v .gear/rules git commit -a -m "new file .gear/rules" touch $package_name.spec git add -v $package_name.spec gear-update -v -c $1 $package_name 2. Скрипт для обновления сборочных зависимостей в спек-файле после удачной сборки в хэшере hsh-buildreq.sh. Выполняется из каталога, в котором находится спек. В качетсве аргумента указывается каталог c хэшером и спек. Содержимое: #!/bin/sh if [ -z "$1" ] #Если нет аргументов then echo -e `gettext 'Укажите первым аргументом каталог, в котором находится hasher, вторым - путь к спеку'` elif [ -z "$2" ] #Если нет второго аргумента then echo -e `gettext 'Укажите вторым аргументом путь к спеку'` else hsh-install -v $1 rpm-utils echo buildreq "/usr/src/RPM/SPECS/$2" | hsh-shell $1 cp -v $1/chroot/usr/src/RPM/SPECS/$2 . fi В первом скрипте, планирую genspec задействовать в будущем. |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.6.2025, 0:23 |