ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] Сборка rpm из исходников
@ 2003-11-29 19:14 Евгений Косенко
  2003-11-30  7:47 ` Немос
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Евгений Косенко @ 2003-11-29 19:14 UTC (permalink / raw)
  To: community

Вот, собрался опробовать свои силы в сборке rpm-пакетов из исходников. Как мне 
и рекомендовали, посмотрел статью 

http://atmsk.ru/indexe98c.html?option=articles&task=viewarticle&artid=40&Itemid=3 

и попробовал сделать так же. Могу сказать, что статья явно не для новичков. 
Во-первых, в тексте нигде не упомянуто, что "непривилегированный" 
пользователь должен входить в группу rpm. Во-вторых, каталог /usr/src, куда 
рекомендуется ставить исходники, доступен только для "привилегированного" 
пользователя root. Как он может быть доступен другим при установке из коробки 
-- ума не приложу. А в-третьих, совершенно неясно, из каких каталогов 
выполнять указанные команды. Впрочем, обо всем по порядку. Итак,

$ pwd
/home/user
$ apt-get source gnome-mlview
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Необходимо получить 451kB исходных архивов.
Получено: 1 ftp://ftp.linux.kiev.ua i586/classic gnome-mlview 0.6.0-alt1 
(srpm) [451kB]
Получено 26,4kB за 19s (1324B/s).
gnome-mlview                 
##################################################
$

Мнэ... Он, оказывается, не только тянет файл, как сказано в статье, он еще его 
и ставит! Ладно,

$ ls -l /usr/src
итого 2
drwxr-xr-x    3 root     root           72 Ноя  8 21:37 kernel
drwxr-xr-x   14 root     root          792 Ноя  8 21:37 linux
$ ls -l
...
drwxr-xr-x    4 user   user         96 Ноя 29 20:10 RPM
...

Похоже, что подкаталог RPM ставится в тот же каталог... Ладно, может ему нужно 
указывать установку явно:

$ rm -rf RPM
$ rpm -i gnome-mlview-0.6.0-alt1.src.rpm
$ ls -l /usr/src
итого 2
drwxr-xr-x    3 root     root           72 Ноя  8 21:37 kernel
drwxr-xr-x   14 root     root          792 Ноя  8 21:37 linux
$ ls -l
...
drwxr-xr-x    4 user   user         96 Ноя 29 20:10 RPM
...

Весело? Мне не очень. Проверял и от обычного пользователя и от 
суперпользователя, во всех домашних каталогах и в /usr/src, результат всегда 
один и тот же -- файлы ставятся в домашний каталог. На этом фоне фраза типа 

> Теперь необходимо положить исходники программы *.tar.gz и патчи *.patch.gz в
> папочку с /usr/src/RPM/SOURCES, файл описания процесса сборки *.spec
> положить в папку /usr/src/RPM/SPECS и можно приступать к сборке. Не спешите
> хвататься за MC и раскладывать файлы вручную, я всего лишь описал процесс,
> чтобы вы знали, где искать концы после этой операции. В реальности все
> вышеперечисленное делает команда 
 
> $rpm -i ваша_программа.src.rpm 
 
выглядит как особо изощренное издевательство. После трехлетней жизни в Линукс 
у меня выработалось устойчивое мнение, что результаты сборки не должны 
зависеть от положения рабочего каталога так же, как и от фаз Луны. Неужели 
каталог /usr/src обладает особой магией?

Ладно, идем дальше... Допустим, вопреки рекомендациям, имея особо продвинутые 
права, выполняем следующее:

$ su -
...
# mv ~user/RPM /usr/src
# chgrp -R rpm /usr/src/RPM
# ls -lR /usr/src/RPM
/usr/src/RPM:
total 1
drwxr-xr-x    2 user   rpm           248 Nov 29 21:02 SOURCES
drwxr-xr-x    2 user   rpm            88 Nov 29 21:02 SPECS

/usr/src/RPM/SOURCES:
total 464
-rw-r--r--    1 eugine   rpm         22753 Sep 24 01:22 
gnome-mlview-0.6.0.ru.po
-rw-rw-r--    1 user   rpm           753 Sep 11 22:34 gnome-mlview-16.png
-rw-rw-r--    1 user   rpm          2087 Sep 11 22:34 gnome-mlview-32.png
-rw-rw-r--    1 user   rpm          4859 Sep 11 22:34 gnome-mlview-48.png
-rw-rw-r--    1 user   rpm        432144 Sep 11 09:45 mlview-0.6.0.tar.bz2

/usr/src/RPM/SPECS:
total 4
-rw-r--r--    1 user   rpm          2652 Sep 24 01:22 gnome-mlview.spec
# cd /usr/src/RPM/SPECS
# rpm -ba gnome-mlview.spec
gnome-mlview.spec: No such file or directory
# exit
$ pwd
/home/user
$ rpm -ba gnome-mlview.spec
gnome-mlview.spec: No such file or directory
$ cd /usr/src/RPM/SPECS
$ rpm -ba gnome-mlview.spec
gnome-mlview.spec: No such file or directory
$

И так далее в разных позах с одним и тем же результатом. Цитирую статью:

> Обратите внимание! в отличии от обычных операций установки через RPM - эта
> операция выполняется от пользователя! иначе RPM скажет вам, что сборка
> разрешена только непривилегированным пользователям и собирать ничего не
> будет.

Не знаю, насколько нужно быть "непривилигированным" пользователем, но если 
приведенные сообщения обозначают, "что сборка разрешена только 
непривилегированным пользователям", то я испанский летчик.

Ладно, это все мелочи и придирки в плохом настроении. Главный вопрос: что я 
делаю не так? Или я такой счастливый, что для первого знакомства мне попался 
кривой пакет из Сизифа?
 

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2003-12-01 16:02 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-29 19:14 [Comm] Сборка rpm из исходников Евгений Косенко
2003-11-30  7:47 ` Немос
2003-11-30  7:57 ` Alexander Bokovoy
2003-11-30 12:11   ` Евгений Косенко
2003-11-30 12:46     ` Sergey Degtyaryov
2003-11-30 18:44       ` Евгений Косенко
2003-11-30 19:57         ` Sergey Degtyaryov
2003-11-30 23:12           ` Евгений Косенко
2003-11-30 12:53     ` Alexander Bokovoy
2003-11-30  8:11 ` [Comm] " Konstantin Lepikhov
2003-11-30 12:11   ` Евгений Косенко
2003-11-30 15:27     ` Konstantin Lepikhov
2003-12-01 16:02     ` Alexey Tourbin
2003-11-30 20:25 ` Michael Shigorin

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git