[newbies] sisyphus_check: check-printable ERROR: package information violation
Igor Zubkov
igor.zubkov на gmail.com
Сб Янв 19 21:03:20 MSK 2013
2013/1/18 gBopHuk_alt:
> В Срд, 16/01/2013 в 20:19 +0200, Igor Zubkov пишет:
>> Его можно гонять как в живой системе, так и в самом hasher.
>
> Я в хешере гонял , ради чистоты сборки =)) Не получилось.
> Можете подробно расписать как вы пользуетесь buildreq ?
Конечно! От обычного пользователя в живой системе:
$ rpminit
$ wget -c ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/SRPMS/quake3-1.36-alt1.svn2349.src.rpm
$ rpm -ivh quake3-1.36-alt1.svn2349.src.rpm
$ cd ~/RPM/SPECS/
$ cp quake3.spec quake3.spec.orig
$ buildreq quake3.spec
$ diff -u quake3.spec.orig quake3.spec
--- quake3.spec.orig 2013-01-19 18:11:17.565975981 +0200
+++ quake3.spec 2013-01-19 18:21:12.372925469 +0200
@@ -36,7 +36,7 @@
Requires: %name-server = %version-%release
Requires: %name-common = %version-%release
-# Automatically added by buildreq on Tue Nov 27 2012
+# Automatically added by buildreq on Sat Jan 19 2013
# optimized out: libGL-devel libGLU-devel libogg-devel pkg-config
BuildRequires: libSDL-devel libcurl-devel libopenal-devel
libspeex-devel libvorbis-devel zlib-devel
$
В данном случае, зависимости для сборки у пакета quake3 не изменились.
Тут надо учесть что пакеты "libSDL-devel libcurl-devel libopenal-devel
libspeex-devel libvorbis-devel zlib-devel" стоят в живой системе.
В hasher тоже самое (NB: hasher должен стоять и уже быть настроен):
$ ls -la
итого 8128
drwxr-xr-x 2 icesik icesik 4096 янв 19 18:32 .
drwxr-xr-x 7 icesik icesik 4096 янв 19 18:08 ..
-rw-r--r-- 1 icesik icesik 8314000 янв 19 18:32 quake3-1.36-alt1.svn2349.src.rpm
$ mkdir quake3-1.36-alt1.svn2349
Я всегда создаю хешерницы по имени пакета который собираю. Или по
имени первого, если их больше одного. Что бы не потеряться.
Дальше, инитим хешерницу:
$ hsh --initroot-only quake3-1.36-alt1.svn2349
Теперь у нас в папке quake3-1.36-alt1.svn2349 стоит базовая хешерница.
Теперь в неё нужно доставить те самый сборочные зависимости от quake3:
$ hsh-install quake3-1.36-alt1.svn2349 libSDL-devel libcurl-devel
libopenal-devel libspeex-devel libvorbis-devel zlib-devel
Теперь поставим пакет в котором содержится сам buildreq:
$ hsh-install quake3-1.36-alt1.svn2349 rpm-utils
Ну и заодно, текстовый vim. Нам ведь надо чем-то редактировать файлы.
$ hsh-install quake3-1.36-alt1.svn2349 vim-console
Теперь у нас всё готово, осталось скопировать сам .src.rpm в хешер:
$ cp quake3-1.36-alt1.svn2349.src.rpm quake3-1.36-alt1.svn2349/chroot/.in/
Теперь можно и зайти в него (я приведу полное приглашение bash и
полный выхлоп, что бы не потеряться):
$ hsh-shell quake3-1.36-alt1.svn2349
[builder на localhost .in]$ ls -la
total 8136
drwxr-xr-x 2 caller caller 12288 Jan 19 16:46 .
drwxrwxr-t 24 caller rooter 4096 Jan 19 16:40 ..
-rw-r--r-- 1 caller caller 8314000 Jan 19 16:46
quake3-1.36-alt1.svn2349.src.rpm
[builder на localhost .in]$ rpm -ivh quake3-1.36-alt1.svn2349.src.rpm
quake3
####################################################################################################
[builder на localhost .in]$ cd /usr/src/RPM/SPECS/
[builder на localhost SPECS]$ ls
quake3.spec
[builder на localhost SPECS]$ cp quake3.spec quake3.spec.orig
[builder на localhost SPECS]$ buildreq quake3.spec
Выхлоп buildreq поскипан.
[builder на localhost SPECS]$ diff -u quake3.spec.orig quake3.spec
[builder на localhost SPECS]$
Спек не изменился (мы его уже в живой системе обновили). Теперь надо
собрать .src.rpm и вытащить обратно в живую систему:
[builder на localhost SPECS]$ rpmbuild -bs quake3.spec
Wrote: /usr/src/RPM/SRPMS/quake3-1.36-alt1.svn2349.src.rpm
[builder на localhost SPECS]$ cp
/usr/src/RPM/SRPMS/quake3-1.36-alt1.svn2349.src.rpm /.out/
[builder на localhost SPECS]$ exit
Ну и уже в живой системе:
[icesik на iceberg SRPMS]$ ls -la quake3-1.36-alt1.svn2349/chroot/.out/
итого 8128
drwxrwx--T 2 icesik icesik_b 4096 янв 19 19:00 .
drwxrwxr-t 24 icesik icesik_a 4096 янв 19 18:40 ..
-rw-r--r-- 1 icesik_b icesik_b 8314030 янв 19 19:00
quake3-1.36-alt1.svn2349.src.rpm
[icesik на iceberg SRPMS]$
Итого, никакой магии.
Обычно я собираю в живой системе, потом закидываю в hasher и .src.rpm
из него подписываю и отправляю на сборку.
Вопросы?
--
Igor Zubkov
http://hi.im/ice
Подробная информация о списке рассылки devel-newbies