IPB

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3 >  
Ответить в эту темуОткрыть новую тему
> Сборка пакетов rpm, ( для начинающих сборщиков и кодеров )
Поделиться
NotHAM
сообщение 23.11.2012, 1:04
Сообщение #31


Специалист
****

Группа: Пользователь
Сообщений: 228
Регистрация: 11.7.2010
Вставить ник
Цитата
Пользователь №: 1867
Страна: Россия
Город: Москва
Пол: Муж.



Репутация: 2


Цитата(ksa @ 22.11.2012, 22:12) *
...
Надо бы сделать в одном месте про сборку с помощью rpm без hasher, gear и прочих замудренностей для начинающих.
...


hasher и gear - Это не "замудрёности", а очень удобные инструменты, а настоящие замудрёности
начнутся, когда систему почистить захочется от разных *-devel. Например libGtk+2-devel потянет
за собой ещё примерно пару десятков других (думаю есть и покруче...), причем ставится всё это
в корневой раздел, относительно быстро устаревает, требует регулярного обновления, и т. д. ...
С Хашером гораздо проще - удалил каталог и всё, причем лежит всё это в хомяке, размер которого
обычно гораздо больше, корневого раздела.
Ну а Gear - лёгкая "обёртка" для Гита, чтобы прямо из Гита сборка шла в сразу в Хашере без дополнительных
заморочек с созданием src.rpm (Хашер всё сам сделает, вернее rpm-build, который там уже есть). Иными
словами - используя Gear мы делаем почти то-же что по инструкции, но без заходов в Хашер, с той
разницей, что каталоги RPM создаются не в хомяке, а в хашере, и с дополнительным удобством, что
можно работать прямо из Гита.
А в хомяке собирать тем же rpm (сидя в терминале) - то же самое что в хашере (сидя в том-же терминале),
с той разницей что если что-то не пошло (непонятно какие develы нужны) - потом не знаешь как систему
от мусора почистить.

ЗЫ. Всё это ИМХО, конечно.
Сам так начинал когда-то, но после 2-х переустановок системы плюнул на это и начал читать
вики (Git, Gear, Hasher).
Теперь с ужасом думаю - как люди с Федорой и Мандривой живут (там ведь этого нет) wink.gif
Вот инструкция по Git, Gear, Hasher для начинающих очень бы пригодилась с подробным
описанием какая команда что делает (в инете про Git есть - но как-то в основном на англ.,
хотя и по нашенски есть что-то - недавно на лоре перевод книги анонсировали, я скачал).
а Gear и Hasher - это Альтовские прибамбасы, причем довольно удачные, но ... man на русском
написать видимо некому. Наверное автор, ldv, по русски не говорит?, как, впрочем, и другие из Team.) biggrin.gif
Возможно, конечно, что я слишком утрирую, но сам по другому уже не могу wink.gif
Переезд на мандривофедору мне, похоже, противопоказан.

PSS А на самом деле инструкция нужна, конечно, если ей пользоваться в Хашере smile.gif
Если возникнут какие-то замечания - добавлю (если Гена не опередит, а он типа уже начал).

Сообщение отредактировал NotHAM - 23.11.2012, 1:10
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ksa
сообщение 23.11.2012, 12:37
Сообщение #32


Профессионал
*******

Группа: Пользователь
Сообщений: 1481
Регистрация: 7.6.2011
Вставить ник
Цитата
Пользователь №: 2118
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 5


Инструкция нужна в первую очередь для тех, кто хотел бы освоить сборку пакетов. А вот тот соус, под которым ты будешь юзать rpm (заниматься сборкой), -- уже вопрос вкуса (субъективный фактор). Не все могут сразу сладить с хэшером (если локально) или с gear (по причине процедуры предварительной настройки, которая тоже требует некоторых навыков [даже несмотря на ролик весьма доступно сделаный] и запоминания относительно большого количества информации, что может оказаться решающим фактором для некоторых). Поэтому для таких людей проще может быть начать (начинать) с малого.

Сообщение отредактировал ksa - 23.11.2012, 13:22


--------------------
Пакеты на яндекс.диске
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 23.11.2012, 13:28
Сообщение #33


Профессионал
*******

Группа: Пользователь
Сообщений: 1826
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Лично мне gear нужен постольку, поскольку - чтоб добавить коммит и запушить в git.alt, это как мантейнеру. А вот непосредственно для сборки пакетов мне абсолютно достаточно rpm и hasher. А отправлять в хашер на сборку из gear даже наоборот - мешает, т.к. в процессе сборки бывает нужно неоднократно править спек, добавлять какие-то патчи, пока пакет не станет собирабельным. И если делать это все из git/gear - то получается нагромоджение коммитов, которые не несут лично для меня никакой полезной нагрузки. Потому и собираю сначала в локальном хашере через hsh-shell, а уже окончательный вариант спека с патчами я однократно добавляю в гит. И то, бывает, что нарываюсь на необходимость подправлять спек для сборки в сизиф, т.к. собираю на t6.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ksa
сообщение 23.11.2012, 13:45
Сообщение #34


Профессионал
*******

Группа: Пользователь
Сообщений: 1481
Регистрация: 7.6.2011
Вставить ник
Цитата
Пользователь №: 2118
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 5


Хорошо, что есть такие удобные вещи как gear и hasher. Назначение у них, как мне кажется, несколько различное. Но их огромный плюс (каждого в отдельности) в том, что каждый из них на своём месте и решает те задачи, для которых создавался, и решает эти задачи в определённой совокупности обстоятельств весьма успешно.


--------------------
Пакеты на яндекс.диске
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
NotHAM
сообщение 23.11.2012, 14:26
Сообщение #35


Специалист
****

Группа: Пользователь
Сообщений: 228
Регистрация: 11.7.2010
Вставить ник
Цитата
Пользователь №: 1867
Страна: Россия
Город: Москва
Пол: Муж.



Репутация: 2


Цитата(Drool @ 23.11.2012, 13:28) *
...
... собираю сначала в локальном хашере через hsh-shell, а уже окончательный вариант спека с патчами я однократно добавляю в гит. И то, бывает, что нарываюсь на необходимость подправлять спек,...
...

+1.
Аналогично, причем иногда даже без использования rpm, прямо через make.
Вполне прокатывает, если makefile несложный и если $(DESTDIR) подкорректировать.
В т. ч. и make --install делаю ...(потом глянул в ~/tmp/...buildroot, что куда легло, поправил
если нужно, в спек это прописал, если нужно опять же), а уж потом rpm --бла-бла .... *.spec
(Вот тут как раз тот случай, когда инструкция бывает нужна перед глазами ...),
а уж после этого в гит всё это дело, там патч делается (git diff) и...
$ git add (что нужно, или всё)
$ gear-commit
$ git gc
$ gear-hsh --бла-бла-...
В общем без hsh-шелла никак не получается обойтись.
PS. Если надо - могу книжку progit.ru (4M pdf) у себя выложить (в сентябре была на лоре).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 23.11.2012, 16:23
Сообщение #36


Профессионал
*******

Группа: Пользователь
Сообщений: 1826
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Цитата(NotHAM @ 23.11.2012, 12:26) *
PS. Если надо - могу книжку progit.ru (4M pdf) у себя выложить (в сентябре была на лоре).

http://uaget.homeip.net/details.php?id=1947 wink.gif


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 8.9.2013, 22:44
Сообщение #37


Профессионал
*******

Группа: Модератор раздела
Сообщений: 4159
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 16


Есть пару вопросов :
1) Есть ли команда для удаления установленного пакета из chroot-а
( hsh-install наоборот biggrin.gif ) или в тупую лезть через hsh-shell --rooter а дальше ручками ?
2) как заставить hsh-install ставить конкретную версию пакета или он этого не умеет ?

PS то YYY : WM 0.95.5 собрал, в репу выложу когда проверю его работу на новой минимальной системе.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Skull
сообщение 11.9.2013, 10:45
Сообщение #38


Крупный специалист
*****

Группа: Пользователь
Сообщений: 477
Регистрация: 30.11.2009
Вставить ник
Цитата
Пользователь №: 1722
Страна: Россия
Город: Климовск/Московской
Пол: Муж.



Репутация: 6


Цитата(kostyalamer @ 8.9.2013, 21:44) *
1) Есть ли команда для удаления установленного пакета из chroot-а
( hsh-install наоборот biggrin.gif ) или в тупую лезть через hsh-shell --rooter а дальше ручками ?
Такая возможность есть (hsh-shell --rooter), но хэшернице поплохеет.
Цитата
2) как заставить hsh-install ставить конкретную версию пакета или он этого не умеет ?
Код
hsh-install 'vim-console=7.3.353-alt3'


Сообщение отредактировал Skull - 11.9.2013, 10:48
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 11.9.2013, 21:43
Сообщение #39


Профессионал
*******

Группа: Модератор раздела
Сообщений: 4159
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 16


Цитата(Skull @ 11.9.2013, 10:45) *
Такая возможность есть (hsh-shell --rooter), но хэшернице поплохеет.

Пока вроде живая smile.gif
Цитата(Skull @ 11.9.2013, 10:45) *
Код
hsh-install 'vim-console=7.3.353-alt3'

Спасибо Андрей !
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
IVK
сообщение 24.7.2015, 23:23
Сообщение #40


Профессионал
*******

Группа: Модератор раздела
Сообщений: 7506
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 26


Читаю альтовскую wiki насчёт сборки rpm и не могу понять, где прописать выполнение скрипта после установки пакета. Про %post нигде не упоминается, что наводит на мысль, что он в Альте не используется - или упоминать о нём излишне?


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 25.7.2015, 0:03
Сообщение #41


Профессионал
*******

Группа: Модератор раздела
Сообщений: 4159
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 16


Цитата(IVK @ 24.7.2015, 23:23) *
Читаю альтовскую wiki насчёт сборки rpm и не могу понять, где прописать выполнение скрипта после установки пакета. Про %post нигде не упоминается, что наводит на мысль, что он в Альте не используется - или упоминать о нём излишне?

Используется, вот нагуглил : http://lists.altlinux.org/pipermail/devel/...ber/108528.html
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
IVK
сообщение 25.7.2015, 0:17
Сообщение #42


Профессионал
*******

Группа: Модератор раздела
Сообщений: 7506
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 26


Так то 11 лет назад. Наверное, надо будет где-то найти кучу альтовских спеков и прошерстить их на этот счёт. А вообще не ожидал столкнуться с подобной проблемой huh.gif


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 25.7.2015, 11:47
Сообщение #43


Профессионал
*******

Группа: Пользователь
Сообщений: 1826
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


%post как поддерживался, так и поддерживается.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Антон Мидюков
сообщение 27.7.2015, 19:22
Сообщение #44


Специалист
****

Группа: Пользователь
Сообщений: 114
Регистрация: 28.6.2015
Вставить ник
Цитата
Из: Прокопьевск
Пользователь №: 2818
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 5


Поделюсь-ка здесь своим опытом осваивания 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 задействовать в будущем.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 29.7.2015, 14:56
Сообщение #45


Профессионал
*******

Группа: Пользователь
Сообщений: 1826
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Антон, а ты не практикуешь постоянный рабочий хашер? Ведь в нем внутри можно удобно работать. У меня два каталога хашера, один обычный, в котором делаю стендовые сборки готовых пакетов, и второй - рабочий, который у меня создан давно, там настроен ccache и другие вкусности. В системе зато никаких *-devel пакетов.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
NotHAM
сообщение 29.7.2015, 17:18
Сообщение #46


Специалист
****

Группа: Пользователь
Сообщений: 228
Регистрация: 11.7.2010
Вставить ник
Цитата
Пользователь №: 1867
Страна: Россия
Город: Москва
Пол: Муж.



Репутация: 2


Цитата(Drool @ 29.7.2015, 14:56) *
Антон, а ты не практикуешь постоянный рабочий хашер? Ведь в нем внутри можно удобно работать...
...

Угу. Очень удобно (особенно если туда еще и MC доустановить, хотя это кому-как...)
Практически как в обычной консоли, которую, при необходимости, очень просто удалить,
совершенно не затрагивая основную систему.
Практически всегда так и работаю (по другому - уже и не представляю как это возможно).

Цитата
...
... В системе зато никаких *-devel пакетов.

Тоже так было, пока с Лазарусом не связался.
А он частенько бывает нужен ... (хотя он притянул много, но не слишком).

ЗЫ. В целом Drool абсолютно прав.
Удобно ... и довольно комфортно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 29.7.2015, 22:27
Сообщение #47


Профессионал
*******

Группа: Пользователь
Сообщений: 1826
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Цитата(NotHAM @ 29.7.2015, 15:18) *
Тоже так было, пока с Лазарусом не связался.
А он частенько бывает нужен ... (хотя он притянул много, но не слишком).

Ходят слухи, что в хашере можно запускать и графические приложения. wink.gif


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Антон Мидюков
сообщение 31.7.2015, 6:55
Сообщение #48


Специалист
****

Группа: Пользователь
Сообщений: 114
Регистрация: 28.6.2015
Вставить ник
Цитата
Из: Прокопьевск
Пользователь №: 2818
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 5


Цитата(Drool @ 29.7.2015, 17:56) *
Антон, а ты не практикуешь постоянный рабочий хашер? Ведь в нем внутри можно удобно работать. У меня два каталога хашера, один обычный, в котором делаю стендовые сборки готовых пакетов, и второй - рабочий, который у меня создан давно, там настроен ccache и другие вкусности. В системе зато никаких *-devel пакетов.


Он у меня почему-то ломается очень быстро, так что пакет перестаёт собираться. Я настроил на кэширование apt-list и apt-cache, остальное на tmpfs. Пока с одним пакетом работаешь, вполне достаточно и одного хэшера на tmpfs. Но ccache не хватает. Вот бы ещё в сборочницу и хомяка можно было бы примонтировать. Конечно можно скриптиком каждый раз добавлять симлинк, чтоб при последующих ребилдах сборка шла быстрее, но хотелось бы, чтоб автоматом.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Drool
сообщение 4.8.2015, 13:58
Сообщение #49


Профессионал
*******

Группа: Пользователь
Сообщений: 1826
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


Когда у меня ломается рабочий хашер (что происходит весьма не быстро), я просто забираю оттуда хашерный хомяк, генерю новый каталог хашера, возвращаю хомяк на место и доставляю нужные пакеты. А вообще-то хашер может быстро ломаться от отсутствия пакетов, разве что. Но в бранче смена API бывает крайне редко, а ABI вообще не меняют.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
IVK
сообщение 18.8.2015, 21:28
Сообщение #50


Профессионал
*******

Группа: Модератор раздела
Сообщений: 7506
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 26


Интересно, можно ли заставить команду rpm (rpmbuild) при сборке пакета srpm не использовать каталог ~/RPM?
Вот, к примеру, захожу в некий каталог, где лежит архив foo.tar (со спеком внутри), даю команду
Код
rpm -tb  foo.tar

и, если у меня нет каталога ~/RPM (на самом деле он, естественно, есть, но его на время данного эксперимента убираю - могу объяснить почему, но к сути дела это отношения не имеет), то получаю вот такой отлуп:
Код
ошибка: Невозможно переименовать /home/ivk/RPM/SPECS/rpm-spec.AB3KvF в /home/ivk/RPM/SPECS/rpm-spec.AB3KvF: Нет такого файла или каталога: Нет такого файла или каталога

Ну зачем для сборки srpm-пакета непременно нужен именно этот каталог? Маны rpm/rpmbuild перерыл, с целью устранить зависимость от него, без толку.


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Антон Мидюков
сообщение 24.8.2015, 19:22
Сообщение #51


Специалист
****

Группа: Пользователь
Сообщений: 114
Регистрация: 28.6.2015
Вставить ник
Цитата
Из: Прокопьевск
Пользователь №: 2818
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 5


Цитата(IVK @ 19.8.2015, 0:28) *
Интересно, можно ли заставить команду rpm (rpmbuild) при сборке пакета srpm не использовать каталог ~/RPM?


Корень каталога сборки определяется в файле ~/.rpmmacros параметр %_topdir
Если нужно для какого-то одного пакета, то наверное можно как-то этот параметр rpmbuild передать, возможно в спеке прописать можно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
IVK
сообщение 24.8.2015, 21:35
Сообщение #52


Профессионал
*******

Группа: Модератор раздела
Сообщений: 7506
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 26


Да, прописал в ~/.rpmmacros другой корень сборки, и всё нормально собралось без участия ~/RPM. А требуется это действительно только для одного пакета, причём использовать ~/.rpmmacros по условиям задачи опять же нельзя, так что надо как-то передавать указание корня сборки через спек, если уж через аргументы команды rpmbuild не передать.


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Антон Мидюков
сообщение 25.8.2015, 3:29
Сообщение #53


Специалист
****

Группа: Пользователь
Сообщений: 114
Регистрация: 28.6.2015
Вставить ник
Цитата
Из: Прокопьевск
Пользователь №: 2818
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 5


%_topdir это макрос, так что попробуйте в самом верху спека прописать строчку с ним, или в секции %prep перед %setup, думаю сработает.

Сообщение отредактировал Антон Мидюков - 25.8.2015, 8:09
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
IVK
сообщение 25.8.2015, 17:51
Сообщение #54


Профессионал
*******

Группа: Модератор раздела
Сообщений: 7506
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 26


Цитата(Антон Мидюков @ 25.8.2015, 2:29) *
%_topdir это макрос, так что попробуйте в самом верху спека прописать строчку с ним, или в секции %prep перед %setup, думаю сработает.

В самом деле сработало, srpm собрался.


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
IVK
сообщение 3.11.2015, 16:39
Сообщение #55


Профессионал
*******

Группа: Модератор раздела
Сообщений: 7506
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 26


Выделил отсюда тему "Скрипт для сборки пакетов в club-sisyphus"


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
tema
сообщение 7.4.2016, 19:16
Сообщение #56


Крупный специалист
*****

Группа: Пользователь
Сообщений: 490
Регистрация: 4.2.2016
Вставить ник
Цитата
Пользователь №: 2850
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 2


Перемещено из темы "Комета"

Цитата(kostyalamer @ 27.2.2016, 18:55) *
Держите фичу инсталлера, собирал правда под 32 битами но думаю так как на выходе noarch , можно пользоваться прямо так.
Если нельзя, пересоберите src-ха в прицепе.
[attachment=2511:installe...arch.rpm.zip]
[attachment=2512:installe....src.rpm.zip]
Фича сделана в каталог preinstall.d срабатывает сразу после установки всех пакетов ( до установки загрузчика ).
Для tema :
1) распаковываете пакет в свою сборочную репу и делаете genbasedir. ( вот для примера команда для одной из моих реп :
genbasedir --topdir /home/k/hasher/repo/i686/ , у вас другой путь и архитектура - замените на свои )
2) после этого делаете под root-ом apt-get update
3) вставляете installer-feature-kometa в список пакетов своего дистрибутива, после чего собираете его.
4) Устанавливаете дистрибутив
5) Если в загрузчике поменялось название то все OK, если нет то смотрите в /etc/altlinux-release - тогда будем продолжать
ковыряться с фичами.

А можете выложить кухню? Исходники со спеком и т.п. хочу покопаться и сам попробовать rpm cобрать. Будет для меня вместо "hello world" в плане собирания rpm

Сообщение отредактировал IVK - 8.4.2016, 23:33
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 7.4.2016, 23:18
Сообщение #57


Профессионал
*******

Группа: Модератор раздела
Сообщений: 4159
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 16


Цитата(tema @ 7.4.2016, 19:16) *
А можете выложить кухню? Исходники со спеком и т.п. хочу покопаться и сам попробовать rpm cобрать. Будет для меня вместо "hello world" в плане собирания rpm

Кухня этого пакета очень простая :
Прикрепленный файл  kometa.zip ( 922 байт ) Кол-во скачиваний: 1

Распакуете архив там лежит спек и архив с упакованным скриптом.
Спек кладется в каталог ~/RPM/SPECS, архив в ~/RPM/SOURCES
После чего надо перейти в ~/RPM/SPECS и собирать пакет командой rpm -ba имя.spec
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
tema
сообщение 8.4.2016, 10:02
Сообщение #58


Крупный специалист
*****

Группа: Пользователь
Сообщений: 490
Регистрация: 4.2.2016
Вставить ник
Цитата
Пользователь №: 2850
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 2


Сделал версию 0.2 этой фичи. Один из вопросов оптичил в todo листе :-)
По спеку я так и не понял. В какой момент этот скрипт запускается и что означает вторая строка?

Сообщение отредактировал tema - 8.4.2016, 10:02
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 8.4.2016, 22:33
Сообщение #59


Профессионал
*******

Группа: Модератор раздела
Сообщений: 4159
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 16


Цитата(tema @ 8.4.2016, 10:02) *
Сделал версию 0.2 этой фичи. Один из вопросов оптичил в todo листе :-)
По спеку я так и не понял. В какой момент этот скрипт запускается и что означает вторая строка?

Разберем по строкам секцию install:

Код
%install
%define hookdir %_datadir/install2/preinstall.d
mkdir -p %buildroot%hookdir
install -pm755 *.sh %buildroot%hookdir/


1) определяется макрос hookdir как /usr/share/install2/preinstall.d
2) в сборочной среде создается этот каталог
3) в него копируются любые распакованные скрипты из нашего архива c соответствующими правами
( можете добавить туда своих или отредактировать текущий ).
Этот скрипт в инсталяторе запускается сразу после установки пакетов , до установки загрузчика.
Подробнее про инсталятор и его стадии здесь : https://www.altlinux.org/Installer/devel
и здесь : https://www.altlinux.org/Installer/common

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
tema
сообщение 8.4.2016, 22:41
Сообщение #60


Крупный специалист
*****

Группа: Пользователь
Сообщений: 490
Регистрация: 4.2.2016
Вставить ник
Цитата
Пользователь №: 2850
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 2


Цитата(kostyalamer @ 8.4.2016, 21:33) *
можете добавить туда своих или отредактировать текущий

Я именно это и сделал в версии 0.2 :-)
Вот мой новый скрипт:
Код
#!/bin/sh
a= . install2-init-functions
echo 'KOMETA' > $destdir/etc/altlinux-release
sed -i 's/ALT Linux/KOMETA/' $destdir/etc/rc.d/rc.sysinit

А что означает эта строчка?
Код
a= . install2-init-functions

Я имею ввиду, что тут: https://www.altlinux.org/Installer/devel
Это выглядит так:
Код
. install2-init-functions

почему у нас добавлена "a="?

Сообщение отредактировал tema - 8.4.2016, 22:46
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

3 страниц V  < 1 2 3 >
Ответить в эту темуОткрыть новую тему
( Гостей: 1 )
Пользователей: 0

 



RSS Текстовая версия Сейчас: 24.8.2019, 10:46