[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