* [devel] packagereq/buildreq: missing build deps
@ 2003-11-13 15:59 Alexey Tourbin
2003-11-14 14:31 ` [devel] " Alexey Tourbin
0 siblings, 1 reply; 8+ messages in thread
From: Alexey Tourbin @ 2003-11-13 15:59 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 908 bytes --]
Greetings!
При незапланированной пересборке swig (!) мне удалось обнаружить
следующий недостаток в packagereq/buildreq (здесь и далее zsh syntax):
$ rpm -qf /usr/share/ruby/1.8/Env.rb /usr/bin/ruby
ruby-stdlibs-1.8-alt9
ruby-1.8-alt9
$ >prog
#!/bin/sh
cat /usr/share/ruby/1.8/Env.rb /usr/bin/ruby &>/dev/null
$ chmod +x prog
$ packagereq -o /dev/stdout ./prog
packagereq: building requires list: ruby-stdlibs
ruby-stdlibs
$
Иными словами, buildreq считает, что пакет basename-чтоугодно должен
обязательно зависеть от basename. Однако (в данном случае) это не так.
$ rpm -q --requires ruby-stdlibs | grep ruby
libruby = 1.8-alt9
libruby.so.1.8
$
Я уже предлагал автору packagereq усложнить алгоритм для "усечения"
сборочных зависимостей, чтобы этот алгоритм был основан на анализе
зависимостей между пакетами. Надеюсь, что в ближайшее время мне удастся
подготовить формальное описание этого алгоритма.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [devel] Re: packagereq/buildreq: missing build deps
2003-11-13 15:59 [devel] packagereq/buildreq: missing build deps Alexey Tourbin
@ 2003-11-14 14:31 ` Alexey Tourbin
2003-11-14 14:33 ` Michael Shigorin
0 siblings, 1 reply; 8+ messages in thread
From: Alexey Tourbin @ 2003-11-14 14:31 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1079 bytes --]
On Thu, Nov 13, 2003 at 06:59:05PM +0300, Alexey Tourbin wrote:
> Иными словами, buildreq считает, что пакет basename-чтоугодно должен
> обязательно зависеть от basename. Однако (в данном случае) это не так.
>
> $ rpm -q --requires ruby-stdlibs | grep ruby
> libruby = 1.8-alt9
> libruby.so.1.8
> $
>
> Я уже предлагал автору packagereq усложнить алгоритм для "усечения"
> сборочных зависимостей, чтобы этот алгоритм был основан на анализе
> зависимостей между пакетами. Надеюсь, что в ближайшее время мне удастся
> подготовить формальное описание этого алгоритма.
Вот как должен работать правильный алгоритм (демо-версия):
$ perl rpm.pl libruby libruby-devel ruby ruby-stdlibs
ruby-stdlibs requires libruby.so.1.8 provided by libruby
libruby optimized out
ruby requires ruby-stdlibs provided by ruby-stdlibs
ruby-stdlibs optimized out
result: ruby libruby-devel
$
Иными словами, из 4 пакетов (перечисленных в командной строке) остается
только два; причем buildreq вычисляет другой (неправильный) список.
Описание и реализацию я постараюсь предоставить в выходные.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [devel] Re: packagereq/buildreq: missing build deps
2003-11-14 14:31 ` [devel] " Alexey Tourbin
@ 2003-11-14 14:33 ` Michael Shigorin
2003-11-14 15:12 ` Alexey Tourbin
0 siblings, 1 reply; 8+ messages in thread
From: Michael Shigorin @ 2003-11-14 14:33 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 444 bytes --]
On Fri, Nov 14, 2003 at 05:31:58PM +0300, Alexey Tourbin wrote:
> Вот как должен работать правильный алгоритм (демо-версия):
> Иными словами, из 4 пакетов (перечисленных в командной строке) остается
> только два; причем buildreq вычисляет другой (неправильный) список.
> Описание и реализацию я постараюсь предоставить в выходные.
Замечательно!
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [devel] Re: packagereq/buildreq: missing build deps
2003-11-14 14:33 ` Michael Shigorin
@ 2003-11-14 15:12 ` Alexey Tourbin
2003-11-14 16:48 ` Alexey Tourbin
0 siblings, 1 reply; 8+ messages in thread
From: Alexey Tourbin @ 2003-11-14 15:12 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 646 bytes --]
On Fri, Nov 14, 2003 at 04:33:17PM +0200, Michael Shigorin wrote:
> > Описание и реализацию я постараюсь предоставить в выходные.
> Замечательно!
Вот реальный пример (BuildRequires из perl-DBI):
$ perl rpm.pl libMySQL perl-DBD-Pg perl-DBD-mysql perl-Net-Daemon perl-PlRPC perl-Storable perl-devel
perl-DBD-mysql requires libmysqlclient.so.12 provided by libMySQL
libMySQL optimized out
perl-PlRPC requires perl(Storable.pm) provided by perl-Storable
perl-Storable optimized out
perl-PlRPC requires perl(Net/Daemon.pm) provided by perl-Net-Daemon
perl-Net-Daemon optimized out
result: perl-devel perl-DBD-mysql perl-DBD-Pg perl-PlRPC
$
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [devel] Re: packagereq/buildreq: missing build deps
2003-11-14 15:12 ` Alexey Tourbin
@ 2003-11-14 16:48 ` Alexey Tourbin
2003-11-14 16:52 ` Sergey Vlasov
0 siblings, 1 reply; 8+ messages in thread
From: Alexey Tourbin @ 2003-11-14 16:48 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1147 bytes --]
On Fri, Nov 14, 2003 at 06:12:40PM +0300, Alexey Tourbin wrote:
> Вот реальный пример (BuildRequires из perl-DBI):
Ещё более сложный пример (по просьбе raorn):
$ perl rpm.pl `rpm -bE ~/RPM/SPECS/vim.spec | grep BuildPreReq | awk '{print$2}'`
package python-devel not found
libatk-devel requires glib2-devel provided by glib2-devel
glib2-devel optimized out
libgtk+2-devel requires libatk-devel provided by libatk-devel
libatk-devel optimized out
glib2-devel requires pkgconfig provided by pkgconfig
pkgconfig optimized out
gtk+-devel requires glib-devel provided by glib-devel
glib-devel optimized out
libgtk+2-devel requires libpango-devel provided by libpango-devel
libpango-devel optimized out
libpango-devel requires libXft-devel provided by XFree86-devel
XFree86-devel optimized out
result: unzip libattr-devel gtk+-devel tcl-devel libelf-devel libalternatives-devel libtinfo-devel libacl-devel ruby libruby-devel man libgtk+2-devel openmotif-devel libgpm-devel ctags xpm-devel libneXtaw-devel
$
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Re: packagereq/buildreq: missing build deps
2003-11-14 16:48 ` Alexey Tourbin
@ 2003-11-14 16:52 ` Sergey Vlasov
2003-11-14 17:00 ` Alexey Tourbin
0 siblings, 1 reply; 8+ messages in thread
From: Sergey Vlasov @ 2003-11-14 16:52 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1306 bytes --]
On Fri, Nov 14, 2003 at 07:48:45PM +0300, Alexey Tourbin wrote:
> On Fri, Nov 14, 2003 at 06:12:40PM +0300, Alexey Tourbin wrote:
> > Вот реальный пример (BuildRequires из perl-DBI):
>
> Ещё более сложный пример (по просьбе raorn):
>
> $ perl rpm.pl `rpm -bE ~/RPM/SPECS/vim.spec | grep BuildPreReq | awk '{print$2}'`
> package python-devel not found
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
А вот и баг выполз...
> libatk-devel requires glib2-devel provided by glib2-devel
> glib2-devel optimized out
> libgtk+2-devel requires libatk-devel provided by libatk-devel
> libatk-devel optimized out
> glib2-devel requires pkgconfig provided by pkgconfig
> pkgconfig optimized out
> gtk+-devel requires glib-devel provided by glib-devel
> glib-devel optimized out
> libgtk+2-devel requires libpango-devel provided by libpango-devel
> libpango-devel optimized out
> libpango-devel requires libXft-devel provided by XFree86-devel
> XFree86-devel optimized out
> result: unzip libattr-devel gtk+-devel tcl-devel libelf-devel libalternatives-devel libtinfo-devel libacl-devel ruby libruby-devel man libgtk+2-devel openmotif-devel libgpm-devel ctags xpm-devel libneXtaw-devel
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [devel] Re: packagereq/buildreq: missing build deps
2003-11-14 16:52 ` Sergey Vlasov
@ 2003-11-14 17:00 ` Alexey Tourbin
2003-11-14 17:07 ` Sergey Vlasov
0 siblings, 1 reply; 8+ messages in thread
From: Alexey Tourbin @ 2003-11-14 17:00 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1668 bytes --]
On Fri, Nov 14, 2003 at 07:52:47PM +0300, Sergey Vlasov wrote:
> > $ perl rpm.pl `rpm -bE ~/RPM/SPECS/vim.spec | grep BuildPreReq | awk '{print$2}'`
> > package python-devel not found
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> А вот и баг выполз...
Это только прототип, на основе которого я пытаюсь понять, будут ли при
таком подходе проблемы. Одна из возможных проблем (как видно ниже) --
взаимные зависимости между *-devel пакетами будут играть очень большую роль.
Т.е. критерий "optimized out" получается зыбкий, несмотря на то, что
зависимости выставлены напрямую.
А пакета python-devel действительно нет.
$ rpm -q python-devel
warning: package python-devel is not installed
$ rpm -q --whatprovides python-devel
python22-devel-2.2.2-alt3.1
$
> > libatk-devel requires glib2-devel provided by glib2-devel
> > glib2-devel optimized out
> > libgtk+2-devel requires libatk-devel provided by libatk-devel
> > libatk-devel optimized out
> > glib2-devel requires pkgconfig provided by pkgconfig
> > pkgconfig optimized out
> > gtk+-devel requires glib-devel provided by glib-devel
> > glib-devel optimized out
> > libgtk+2-devel requires libpango-devel provided by libpango-devel
> > libpango-devel optimized out
> > libpango-devel requires libXft-devel provided by XFree86-devel
> > XFree86-devel optimized out
> > result: unzip libattr-devel gtk+-devel tcl-devel libelf-devel libalternatives-devel libtinfo-devel libacl-devel ruby libruby-devel man libgtk+2-devel openmotif-devel libgpm-devel ctags xpm-devel libneXtaw-devel
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Re: packagereq/buildreq: missing build deps
2003-11-14 17:00 ` Alexey Tourbin
@ 2003-11-14 17:07 ` Sergey Vlasov
0 siblings, 0 replies; 8+ messages in thread
From: Sergey Vlasov @ 2003-11-14 17:07 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1010 bytes --]
On Fri, Nov 14, 2003 at 08:00:05PM +0300, Alexey Tourbin wrote:
> On Fri, Nov 14, 2003 at 07:52:47PM +0300, Sergey Vlasov wrote:
> > > $ perl rpm.pl `rpm -bE ~/RPM/SPECS/vim.spec | grep BuildPreReq | awk '{print$2}'`
> > > package python-devel not found
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > А вот и баг выполз...
>
> Это только прототип, на основе которого я пытаюсь понять, будут ли при
> таком подходе проблемы. Одна из возможных проблем (как видно ниже) --
> взаимные зависимости между *-devel пакетами будут играть очень большую роль.
> Т.е. критерий "optimized out" получается зыбкий, несмотря на то, что
> зависимости выставлены напрямую.
>
> А пакета python-devel действительно нет.
>
> $ rpm -q python-devel
> warning: package python-devel is not installed
> $ rpm -q --whatprovides python-devel
> python22-devel-2.2.2-alt3.1
Т.е. с точки зрения apt такой пакет есть. Более того:
$ cat /etc/buildreqs/packages/substitute.d/python22-devel
python-devel
Так что придётся это обрабатывать...
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2003-11-14 17:07 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-13 15:59 [devel] packagereq/buildreq: missing build deps Alexey Tourbin
2003-11-14 14:31 ` [devel] " Alexey Tourbin
2003-11-14 14:33 ` Michael Shigorin
2003-11-14 15:12 ` Alexey Tourbin
2003-11-14 16:48 ` Alexey Tourbin
2003-11-14 16:52 ` Sergey Vlasov
2003-11-14 17:00 ` Alexey Tourbin
2003-11-14 17:07 ` Sergey Vlasov
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git