Arepo In Hasher: различия между версиями
(Новая страница: «=== Сборка пакетов i586 локально в hasher === ;1. Подготавливаем конфмги apt и hasher для локальной сбор...») |
Snejok (обсуждение | вклад) мНет описания правки |
||
(не показано 10 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
=== Сборка пакетов i586 локально в hasher === | === Сборка пакетов i586 локально в hasher === | ||
;1. Подготавливаем | ;1. Подготавливаем конфиги apt и hasher для локальной сборки: | ||
Пропускаю всё, что касается, как настраивать стандартный хэшер. | Пропускаю всё, что касается, как настраивать стандартный хэшер. | ||
Строка 25: | Строка 25: | ||
И аналогичные файлы для i586. | И аналогичные файлы для i586. | ||
В $HOME/.hasher/ | В $HOME/.hasher/config прописываем: | ||
<source lang=text> | <source lang=text> | ||
def_repo=/home/writer/hasher-repo | def_repo=/home/writer/hasher-repo | ||
Строка 53: | Строка 53: | ||
;5. Копируем туда-же из http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/ (или любого зеркала Сизифа, в том числе, если у вас есть, локального) файл arepo-x86_64-i586.list в $home_hasher/.in. | ;5. Копируем туда-же из http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/ (или любого зеркала Сизифа, в том числе, если у вас есть, локального) файл arepo-x86_64-i586.list в $home_hasher/.in. | ||
;6. Туда-же кладём скрипт arepo.sh такого содержания : | ;6. Туда-же кладём скрипт arepo.sh такого содержания (AREPO_MODE=lib - для пакетов с библиотеками, prog - для пакетов с программами): | ||
<source lang=text> | <source lang=text> | ||
#!/bin/bash -x | #!/bin/bash -x | ||
package=$1 | |||
dir=$(pwd) | dir=$(pwd) | ||
AREPO_MODE=lib AREPO_PKGLIST=$dir/arepo-x86_64-i586.list AREPO_ARCH=i586 \ | AREPO_MODE=lib AREPO_PKGLIST=$dir/arepo-x86_64-i586.list AREPO_ARCH=i586 \ | ||
AREPO_COMPAT=$dir/$ | AREPO_COMPAT=$dir/$package.i586.rpm \ | ||
AREPO_NATIVE=$dir/$ | AREPO_NATIVE=$dir/$package.x86_64.rpm \ | ||
rpmrebuild -bv -np --include arepo.plug $dir/$ | rpmrebuild -bv -np --include arepo.plug $dir/$package.i586.rpm | ||
</source> | </source> | ||
;7. | ;7. Устанавливаем в $home_hasher (у нас он в результате операции 2 - 32-х разрядный) необходимые пакеты и собираем i586-glib2-2.43.91-alt1.i586.rpm | ||
<source lang=text> | <source lang=text> | ||
hsh-install $USER/hasher rpmrebuild-arepo | |||
hsh-install $USER/hasher mc (совсем не обязательно, просто для того, что-бы был привычный файл-менеджер и редактор под рукой) | |||
hsh-shell $USER/hasher | |||
./arepo.sh glib2-2.43.91-alt1 | ./arepo.sh glib2-2.43.91-alt1 | ||
</source> | </source> | ||
;8 Видим сообщение, что собранный нами пакет i586-glib2-2.43.91-alt1.i586.rpm лежит в $USER/hasher/chroot/src/RPM/RPMS/i586 | |||
===Полезные ссылки=== | |||
[[О_стратегии_сборки_RPM_пакетов]] | |||
[[Категория:HOWTO]] | |||
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 01:21, 27 июня 2023
Сборка пакетов i586 локально в hasher
- 1. Подготавливаем конфиги apt и hasher для локальной сборки
Пропускаю всё, что касается, как настраивать стандартный хэшер.
Создаём $HOME/apt/apt.conf.s64:
Dir::Etc::main "/dev/null";
Dir::Etc::parts "/var/empty";
Dir::Etc::SourceParts "/var/empty";
Dir::Etc::sourcelist "/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/apt/sources.list.s64";
RPM::Ignore { "vim-plugin-vimruby"; };
$HOME/apt/sources.list.s64:
rpm [alt] file:/mnt/Arhiv4/Sisyphus/ x86_64 classic
rpm [alt] file:/mnt/Arhiv4/Sisyphus/ noarch classic
rpm-src file:/mnt/Arhiv4/Sisyphus/ x86_64 classic
И аналогичные файлы для i586.
В $HOME/.hasher/config прописываем:
def_repo=/home/writer/hasher-repo
if [ ! `uname -m` = x86_64 ]; then def_target=i586; fi
- 2. Собираем пакет в хэшере в архитектуре i586 и x86_64. например, так (важен порядок сборки!)
home_hasher=/tmp/.private/$USER/hasher
logf=$home_hasher/build.txt
hsh -v --save-fakeroot --apt-config=$HOME/apt/apt.conf.s64 $home_hasher $* 2>&1 | tee $logf.x86_64
setarch i586 hsh -v --save-fakeroot --lazy-cleanup --target=i586 --apt-config=$HOME/apt/apt.conf.s32 \
$home_hasher $* 2>&1 | tee $logf.i586
Примечание: у меня $USER/hasher -это символическая ссылка на /tmp/.private/$USER/hasher
- 3. В результате в /home/writer/hasher-repo мы получаем два пакета, например
glib2-2.43.91-alt1.i586.rpm и glib2-2.43.91-alt1.x86_64.rpm
- 4. Копируем полученные пакеты glib2-2.43.91-alt1.i586.rpm и glib2-2.43.91-alt1.x86_64.rpm в $home_hasher/chroot/.in (/tmp/.private/$USER/hasher)
- 5. Копируем туда-же из http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/ (или любого зеркала Сизифа, в том числе, если у вас есть, локального) файл arepo-x86_64-i586.list в $home_hasher/.in.
- 6. Туда-же кладём скрипт arepo.sh такого содержания (AREPO_MODE=lib - для пакетов с библиотеками, prog - для пакетов с программами)
#!/bin/bash -x
package=$1
dir=$(pwd)
AREPO_MODE=lib AREPO_PKGLIST=$dir/arepo-x86_64-i586.list AREPO_ARCH=i586 \
AREPO_COMPAT=$dir/$package.i586.rpm \
AREPO_NATIVE=$dir/$package.x86_64.rpm \
rpmrebuild -bv -np --include arepo.plug $dir/$package.i586.rpm
- 7. Устанавливаем в $home_hasher (у нас он в результате операции 2 - 32-х разрядный) необходимые пакеты и собираем i586-glib2-2.43.91-alt1.i586.rpm
hsh-install $USER/hasher rpmrebuild-arepo
hsh-install $USER/hasher mc (совсем не обязательно, просто для того, что-бы был привычный файл-менеджер и редактор под рукой)
hsh-shell $USER/hasher
./arepo.sh glib2-2.43.91-alt1
- 8 Видим сообщение, что собранный нами пакет i586-glib2-2.43.91-alt1.i586.rpm лежит в $USER/hasher/chroot/src/RPM/RPMS/i586