* [devel] lua-rpm-0.1 (squeeze.lua)
@ 2005-04-08 2:34 Alexey Tourbin
2005-04-08 7:12 ` [devel] " Michael Shigorin
0 siblings, 1 reply; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-08 2:34 UTC (permalink / raw)
To: devel
[-- Attachment #1.1: Type: text/plain, Size: 14086 bytes --]
Здравствуйте.
Я научился программировать на lua. :)
Кто-нибудь сталкивался? Язычок в принципе ничего. Очень раздражает
отсутствие 'continue' в цикле (при том, что есть 'break'). Разработчики
языка не хотят добавлять continue по каким-то принципиальным
соображениям. В результате вместо
while ... do
if ... then
continue
end
end
приходится писать
while ... do
while true do
if ... then
break
end
break
end
end
Ну так вот. Алгоритм оптимизации зависимостей в BuildRequires.
Происходит в два этапа: 1) expand: список зависимостей дополняется
настолько, насколько это возможно; 2) squeeze: список зависимостей
сжимается настолько, насколько это возможно.
Ниже приводится протокол выполнения алгоритма для списка пакетов
{ rpm-build, xvfb-run }. На выходе получается тот же самый список (т.е.
эти пакеты между собой не зависят, а всё остальное успешно выносится.
Usage: ./squeeze.lua <список пакетов>.
Для сборки нужно librpm-devel, liblua5-devel, для запуска lua5.
$ ./squeeze.lua rpm-build xvfb-run
Expanding (pass 1, 2 packages)...
rpm-build -> librpmbuild
rpm-build -> rpm
rpm-build -> shadow-utils
Warning: autoconf provided by { autoconf_2.13, autoconf_2.5 }
rpm-build -> autoconf-common
Warning: automake provided by { automake_1.4, automake_1.8, automake_1.6, automake_1.7 }
rpm-build -> automake-common
rpm-build -> bison
rpm-build -> coreutils
rpm-build -> cpio
Warning: gcc provided by { gcc3.4, gcc2.95, gcc2.96 }
rpm-build -> gettext-tools
rpm-build -> glibc-devel
rpm-build -> file
Warning: kernel-headers provided by { kernel-headers-std-up, glibc-kernheaders, kernel24-headers }
Warning: libtool provided by { libtool_1.4, libtool_1.5 }
rpm-build -> m4
rpm-build -> make
rpm-build -> net-tools
rpm-build -> procps
rpm-build -> psmisc
rpm-build -> sed
rpm-build -> service
rpm-build -> sh
rpm-build -> texinfo
rpm-build -> which
rpm-build -> bzip2
rpm-build -> gzip
rpm-build -> info-install
rpm-build -> mktemp
rpm-build -> patch
rpm-build -> tar
rpm-build -> rpm-build-perl
rpm-build -> rpm-build-python
rpm-build -> rpm-build-tcl
rpm-build -> binutils
rpm-build -> diffutils
rpm-build -> findutils
rpm-build -> gawk
rpm-build -> glibc-core
rpm-build -> grep
rpm-build -> libpopt.so.0 -> libpopt
rpm-build -> librpm-4.0.4.so -> librpm
rpm-build -> perl(File/Basename.pm) -> perl-base
xvfb-run -> xorg-x11-Xvfb
xvfb-run -> xorg-x11-xauth
xvfb-run -> fakeroot
Expanding (pass 2, 44 packages)...
Warning: autoconf provided by { autoconf_2.13, autoconf_2.5 }
Warning: automake provided by { automake_1.4, automake_1.8, automake_1.6, automake_1.7 }
Warning: gcc provided by { gcc3.4, gcc2.95, gcc2.96 }
Warning: kernel-headers provided by { kernel-headers-std-up, glibc-kernheaders, kernel24-headers }
Warning: libtool provided by { libtool_1.4, libtool_1.5 }
rpm -> alt-gpgkeys
shadow-utils -> shadow-convert
shadow-utils -> tcb-utils
shadow-utils -> /etc/pam.d -> pam-config
Warning: libpam(include) provided by { libpam2, libpam0 }
shadow-utils -> libpam.so.0 -> libpam0
shadow-utils -> libpam_userpass.so.1 -> pam0_userpass
shadow-utils -> libtcb.so.0 -> libtcb
shadow-utils -> pam0(system-auth-use_first_pass) -> pam0-config
shadow-utils -> pam_rootok.so -> pam
coreutils -> libtinfo.so.5 -> libtinfo
gettext-tools -> gettext
gettext-tools -> /etc/emacs/site-start.d -> emacs-base
gettext-tools -> libintl.so.3 -> libintl3
glibc-devel -> glibc
glibc-devel -> glibc-kernheaders
glibc-devel -> kernel-headers-common
file -> libmagic
file -> libz.so.1 -> zlib
procps -> libncurses.so.5 -> libncurses
psmisc -> SysVinit
service -> /bin/tput -> termutils
service -> chkconfig
bzip2 -> bzlib
binutils -> libbfd
glibc-core -> setup
librpm -> libbeecrypt
librpm -> libdb4.3
xorg-x11-Xvfb -> xorg-x11-server-common
xorg-x11-Xvfb -> libXau.so.6 -> xorg-x11-libs
xorg-x11-Xvfb -> libfreetype.so.6 -> freetype2
fakeroot -> getopt
Expanding (pass 3, 75 packages)...
Warning: autoconf provided by { autoconf_2.13, autoconf_2.5 }
Warning: automake provided by { automake_1.4, automake_1.8, automake_1.6, automake_1.7 }
Warning: gcc provided by { gcc3.4, gcc2.95, gcc2.96 }
Warning: libtool provided by { libtool_1.4, libtool_1.5 }
tcb-utils -> pam_tcb -> pam0_tcb
pam0-config -> pam_passwdqc.so -> pam0_passwdqc
libtinfo -> terminfo
glibc -> glibc-nss
glibc -> glibc-locales
glibc -> glibc-gconv-modules
glibc -> iconv
glibc -> glibc-timezones
glibc -> glibc-utils
libncurses -> libgpm.so.1 -> libgpm
SysVinit -> /sbin/sulogin -> msulogin
xorg-x11-server-common -> xorg-x11-misc-fonts
xorg-x11-server-common -> xorg-x11-utils
xorg-x11-server-common -> util-linux
xorg-x11-server-common -> xinitrc
xorg-x11-server-common -> app-defaults
xorg-x11-libs -> freetype
xorg-x11-libs -> xorg-x11-locales
xorg-x11-libs -> libexpat.so.0 -> libexpat
xorg-x11-libs -> libfontconfig.so.1 -> fontconfig
Expanding (pass 4, 95 packages)...
Warning: autoconf provided by { autoconf_2.13, autoconf_2.5 }
Warning: automake provided by { automake_1.4, automake_1.8, automake_1.6, automake_1.7 }
Warning: gcc provided by { gcc3.4, gcc2.95, gcc2.96 }
Warning: libtool provided by { libtool_1.4, libtool_1.5 }
pam0_tcb -> nss_tcb
pam0_tcb -> control
xorg-x11-misc-fonts -> chkfontpath
xorg-x11-misc-fonts -> xorg-x11-font-utils
xorg-x11-utils -> xterm
xinitrc -> bash
Expanding (pass 5, 101 packages)...
Warning: autoconf provided by { autoconf_2.13, autoconf_2.5 }
Warning: automake provided by { automake_1.4, automake_1.8, automake_1.6, automake_1.7 }
Warning: gcc provided by { gcc3.4, gcc2.95, gcc2.96 }
Warning: libtool provided by { libtool_1.4, libtool_1.5 }
xterm -> libutempter
xterm -> alternatives
bash -> libhistory.so.4.3 -> libreadline
Expanding (pass 6, 104 packages)...
Warning: autoconf provided by { autoconf_2.13, autoconf_2.5 }
Warning: automake provided by { automake_1.4, automake_1.8, automake_1.6, automake_1.7 }
Warning: gcc provided by { gcc3.4, gcc2.95, gcc2.96 }
Warning: libtool provided by { libtool_1.4, libtool_1.5 }
alternatives -> ed
Expanding (pass 7, 105 packages)...
Warning: autoconf provided by { autoconf_2.13, autoconf_2.5 }
Warning: automake provided by { automake_1.4, automake_1.8, automake_1.6, automake_1.7 }
Warning: gcc provided by { gcc3.4, gcc2.95, gcc2.96 }
Warning: libtool provided by { libtool_1.4, libtool_1.5 }
{ rpm-build, xvfb-run, librpmbuild, rpm, shadow-utils, autoconf-common, automake-common, bison, coreutils, cpio, gettext-tools, glibc-devel, file, m4, make, net-tools, procps, psmisc, sed, service, sh, texinfo, which, bzip2, gzip, info-install, mktemp, patch, tar, rpm-build-perl, rpm-build-python, rpm-build-tcl, binutils, diffutils, findutils, gawk, glibc-core, grep, libpopt, librpm, perl-base, xorg-x11-Xvfb, xorg-x11-xauth, fakeroot, alt-gpgkeys, shadow-convert, tcb-utils, pam-config, libpam0, pam0_userpass, libtcb, pam0-config, pam, libtinfo, gettext, emacs-base, libintl3, glibc, glibc-kernheaders, kernel-headers-common, libmagic, zlib, libncurses, SysVinit, termutils, chkconfig, bzlib, libbfd, setup, libbeecrypt, libdb4.3, xorg-x11-server-common, xorg-x11-libs, freetype2, getopt, pam0_tcb, pam0_passwdqc, terminfo, glibc-nss, glibc-locales, glibc-gconv-modules, iconv, glibc-timezones, glibc-utils, libgpm, msulogin, xorg-x11-misc-fonts, xorg-x11-utils, util-linux, xinitrc, app-defaults, freetype, xorg-x11-locales, libexpat, fontconfig, nss_tcb, control, chkfontpath, xorg-x11-font-utils, xterm, bash, libutempter, alternatives, libreadline, ed }
Squeezing terminfo ...
terminfo < termutils
Squeezing alt-gpgkeys ...
alt-gpgkeys < rpm
Squeezing setup ...
setup < glibc-core
Squeezing emacs-base ...
emacs-base < /etc/emacs/site-start.d < gettext-tools
Squeezing glibc-kernheaders ...
glibc-kernheaders < glibc-devel
Squeezing glibc-core ...
glibc-core < libc.so.6 < getopt
Squeezing getopt ...
getopt < fakeroot
Squeezing app-defaults ...
app-defaults < xorg-x11-server-common
Squeezing mktemp ...
mktemp < glibc-utils
Squeezing net-tools ...
net-tools < rpm-build
Squeezing chkfontpath ...
chkfontpath < xorg-x11-misc-fonts
Squeezing pam-config ...
pam-config < pam0-config
Squeezing patch ...
patch < rpm-build
Squeezing msulogin ...
msulogin < /sbin/sulogin < SysVinit
Squeezing rpm-build-python ...
rpm-build-python < rpm-build
Squeezing automake-common ...
automake-common < gettext-tools
Squeezing autoconf-common ...
autoconf-common < rpm-build
Squeezing gzip ...
gzip < /bin/zcat < info-install
Squeezing rpm-build-tcl ...
rpm-build-tcl < rpm-build
Squeezing which ...
which < xinitrc
Squeezing chkconfig ...
chkconfig < kernel-headers-common
Squeezing xvfb-run ...
Squeezing xorg-x11-misc-fonts ...
xorg-x11-misc-fonts < xorg-x11-server-common
Squeezing libtcb ...
libtcb < libtcb.so.0 < shadow-convert
Squeezing libexpat ...
libexpat < libexpat.so.0 < fontconfig
Squeezing pam0-config ...
pam0-config < pam0(system-auth-use_first_pass) < shadow-utils
Squeezing zlib ...
zlib < libz.so.1 < freetype2
Squeezing gettext ...
gettext < gettext-tools
Squeezing ed ...
ed < alternatives
Squeezing info-install ...
info-install < /usr/sbin/uninstall_info < automake-common
Squeezing psmisc ...
psmisc < service
Squeezing glibc-gconv-modules ...
glibc-gconv-modules < glibc
Squeezing xorg-x11-locales ...
xorg-x11-locales < xorg-x11-libs
Squeezing cpio ...
cpio < rpm-build
Squeezing pam0_passwdqc ...
pam0_passwdqc < pam_passwdqc.so < pam0-config
Squeezing shadow-convert ...
shadow-convert < tcb-utils
Squeezing glibc-timezones ...
glibc-timezones < glibc
Squeezing bzlib ...
bzlib < bzip2
Squeezing libpopt ...
libpopt < chkconfig
Squeezing freetype2 ...
freetype2 < libfreetype.so.6 < xorg-x11-font-utils
Squeezing control ...
control < util-linux
Squeezing pam0_userpass ...
pam0_userpass < libpam_userpass.so.1 < shadow-utils
Squeezing file ...
file < rpm-build
Squeezing sh ...
sh < /bin/sh < app-defaults
Squeezing libbfd ...
libbfd < binutils
Squeezing xorg-x11-server-common ...
xorg-x11-server-common < xorg-x11-Xvfb
Squeezing glibc ...
glibc < glibc-devel
Squeezing libreadline ...
libreadline < libhistory.so.4.3 < bash
Squeezing libgpm ...
libgpm < libgpm.so.1 < libncurses
Squeezing tcb-utils ...
tcb-utils < shadow-utils
Squeezing sed ...
sed < control
Squeezing libdb4.3 ...
libdb4.3 < libdb-4.3.so < pam
Squeezing bzip2 ...
bzip2 < /bin/bzcat < info-install
Squeezing termutils ...
termutils < service
Squeezing make ...
make < rpm-build
Squeezing libutempter ...
libutempter < xterm
Squeezing m4 ...
m4 < bison
Squeezing librpmbuild ...
librpmbuild < rpm
Squeezing alternatives ...
alternatives < xterm
Squeezing nss_tcb ...
nss_tcb < pam0_tcb
Squeezing tar ...
tar < gettext-tools
Squeezing kernel-headers-common ...
kernel-headers-common < glibc-devel
Squeezing libtinfo ...
libtinfo < libtinfo.so.5 < psmisc
Squeezing libintl3 ...
libintl3 < gettext
Squeezing libmagic ...
libmagic < file
Squeezing iconv ...
iconv < glibc
Squeezing grep ...
grep < control
Squeezing fakeroot ...
fakeroot < xvfb-run
Squeezing glibc-locales ...
glibc-locales < glibc
Squeezing xorg-x11-xauth ...
xorg-x11-xauth < xvfb-run
Squeezing rpm-build-perl ...
rpm-build-perl < rpm-build
Squeezing findutils ...
findutils < control
Squeezing SysVinit ...
SysVinit < psmisc
Squeezing procps ...
procps < rpm-build
Squeezing diffutils ...
diffutils < texinfo
Squeezing libbeecrypt ...
libbeecrypt < librpm
Squeezing freetype ...
freetype < xorg-x11-libs
Squeezing bison ...
bison < rpm-build
Squeezing bash ...
bash < xinitrc
Squeezing libpam0 ...
libpam0 < pam_deny.so < pam0-config
Squeezing libncurses ...
libncurses < libncurses.so.5 < procps
Squeezing xorg-x11-font-utils ...
xorg-x11-font-utils < xorg-x11-misc-fonts
Squeezing fontconfig ...
fontconfig < libfontconfig.so.1 < xorg-x11-libs
Squeezing glibc-utils ...
glibc-utils < glibc
Squeezing service ...
service < kernel-headers-common
Squeezing pam ...
pam < pam_limits.so < pam0-config
Squeezing gawk ...
gawk < alternatives
Squeezing glibc-devel ...
glibc-devel < rpm-build
Squeezing xorg-x11-Xvfb ...
xorg-x11-Xvfb < xvfb-run
Squeezing texinfo ...
texinfo < rpm-build
Squeezing rpm ...
rpm < rpm-build-python
Squeezing util-linux ...
util-linux < xorg-x11-server-common
Squeezing binutils ...
binutils < gettext-tools
Squeezing glibc-nss ...
glibc-nss < glibc
Squeezing shadow-utils ...
shadow-utils < libutempter
Squeezing coreutils ...
coreutils < rpm-build-python
Squeezing pam0_tcb ...
pam0_tcb < pam_tcb.so < pam0-config
Squeezing perl-base ...
perl-base < rpm-build-perl
Squeezing librpm ...
librpm < librpmbuild
Squeezing xorg-x11-libs ...
xorg-x11-libs < xorg-x11-xauth
Squeezing xterm ...
xterm < xinitrc
Squeezing xinitrc ...
xinitrc < xorg-x11-server-common
Squeezing gettext-tools ...
gettext-tools < rpm-build
Squeezing xorg-x11-utils ...
xorg-x11-utils < xorg-x11-server-common
Squeezing rpm-build ...
{ xvfb-run, rpm-build }
$
[-- Attachment #1.2: lua-rpm-0.1.tar.gz --]
[-- Type: application/x-gzip, Size: 3740 bytes --]
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 2:34 [devel] lua-rpm-0.1 (squeeze.lua) Alexey Tourbin
@ 2005-04-08 7:12 ` Michael Shigorin
2005-04-08 10:02 ` Nick S. Grechukh
2005-04-08 15:35 ` Alexey Tourbin
0 siblings, 2 replies; 12+ messages in thread
From: Michael Shigorin @ 2005-04-08 7:12 UTC (permalink / raw)
To: devel
On Fri, Apr 08, 2005 at 06:34:25AM +0400, Alexey Tourbin wrote:
> Ну так вот. Алгоритм оптимизации зависимостей в BuildRequires.
Т.е. предлагается обнюхать, а потом задвигать в rpm-build? :)
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 7:12 ` [devel] " Michael Shigorin
@ 2005-04-08 10:02 ` Nick S. Grechukh
2005-04-08 10:06 ` Michael Shigorin
2005-04-08 15:32 ` Alexey Tourbin
2005-04-08 15:35 ` Alexey Tourbin
1 sibling, 2 replies; 12+ messages in thread
From: Nick S. Grechukh @ 2005-04-08 10:02 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 720 bytes --]
On Friday 08 April 2005 10:12, Michael Shigorin wrote:
> On Fri, Apr 08, 2005 at 06:34:25AM +0400, Alexey Tourbin wrote:
> > Ну так вот. Алгоритм оптимизации зависимостей в BuildRequires.
> Т.е. предлагается обнюхать, а потом задвигать в rpm-build? :)
страшно. пример:
мне для сборки требуется тулза A и тулз B.
я пишу PreBuildReq: A B
тулза B требует библиотеку C которая просит A.
в итоге в моих buildreq останется только B, если я правильно понял.
но зависимость B на C могла возникнтуь случайно по желанию левой ноги
разработчика / майнтейнера / find-req.
при очередной пересборке B она отваливается и мне нужно добавлять руками A в
buildreq. так я и сам знал что она мне нужна, пока ее оптимизатор не сожрал!
[-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 10:02 ` Nick S. Grechukh
@ 2005-04-08 10:06 ` Michael Shigorin
2005-04-08 10:18 ` Nick S. Grechukh
2005-04-08 15:32 ` Alexey Tourbin
1 sibling, 1 reply; 12+ messages in thread
From: Michael Shigorin @ 2005-04-08 10:06 UTC (permalink / raw)
To: devel
On Fri, Apr 08, 2005 at 01:02:32PM +0300, Nick S. Grechukh wrote:
> > > Ну так вот. Алгоритм оптимизации зависимостей в BuildRequires.
> > Т.е. предлагается обнюхать, а потом задвигать в rpm-build? :)
> страшно. пример:
Это как раз понятно. Вот как анализировать динамику таких
зависимостей по сизифу за год -- не совсем понятно, а это часть
правильного ответа...
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 10:06 ` Michael Shigorin
@ 2005-04-08 10:18 ` Nick S. Grechukh
2005-04-08 15:21 ` Alexey Tourbin
0 siblings, 1 reply; 12+ messages in thread
From: Nick S. Grechukh @ 2005-04-08 10:18 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 521 bytes --]
On Friday 08 April 2005 13:06, Michael Shigorin wrote:
> On Fri, Apr 08, 2005 at 01:02:32PM +0300, Nick S. Grechukh wrote:
> > > > Ну так вот. Алгоритм оптимизации зависимостей в BuildRequires.
> > >
> > > Т.е. предлагается обнюхать, а потом задвигать в rpm-build? :)
> >
> > страшно. пример:
>
> Это как раз понятно. Вот как анализировать динамику таких
> зависимостей по сизифу за год -- не совсем понятно, а это часть
> правильного ответа...
что даст такая оптимизация buildreqires ?
прикольно конечно, но все же.
[-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 10:18 ` Nick S. Grechukh
@ 2005-04-08 15:21 ` Alexey Tourbin
0 siblings, 0 replies; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-08 15:21 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 323 bytes --]
On Fri, Apr 08, 2005 at 01:18:34PM +0300, Nick S. Grechukh wrote:
> > Это как раз понятно. Вот как анализировать динамику таких
> > зависимостей по сизифу за год -- не совсем понятно, а это часть
> > правильного ответа...
>
> что даст такая оптимизация buildreqires ?
> прикольно конечно, но все же.
Ничего. :)
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 10:02 ` Nick S. Grechukh
2005-04-08 10:06 ` Michael Shigorin
@ 2005-04-08 15:32 ` Alexey Tourbin
2005-04-08 17:03 ` Nick S. Grechukh
1 sibling, 1 reply; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-08 15:32 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1164 bytes --]
On Fri, Apr 08, 2005 at 01:02:32PM +0300, Nick S. Grechukh wrote:
> мне для сборки требуется тулза A и тулз B.
> я пишу PreBuildReq: A B
>
> тулза B требует библиотеку C которая просит A.
> в итоге в моих buildreq останется только B, если я правильно понял.
Да. Остаются только "опорные точки", которые по зависимостям дают
вытягивание всего остального (а сами по себе ни к чему не сводятся).
Есть неочевидные случаи. Например, пакеты rpm-build и rpm-build-perl
взаимно зависят друг от друга. Оптимизатор оставляет rpm-build, т.к.
у него больше зависимостей, чем у rpm-build-perl.
(Я опять изобрел велосипед. Здесь нужен какой-нибудь алгоритм на графах.
Но данный конкретные велосипед работает очень хорошо, гораздо лучше
предыдущих.)
> но зависимость B на C могла возникнтуь случайно по желанию левой ноги
> разработчика / майнтейнера / find-req.
Пример случайных зависимостей? Зависимости между пакетами не случайны. :)
> при очередной пересборке B она отваливается и мне нужно добавлять руками A в
> buildreq. так я и сам знал что она мне нужна, пока ее оптимизатор не сожрал!
Нет, нужно ещё раз запустить алгоритм. :)
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 7:12 ` [devel] " Michael Shigorin
2005-04-08 10:02 ` Nick S. Grechukh
@ 2005-04-08 15:35 ` Alexey Tourbin
1 sibling, 0 replies; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-08 15:35 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 474 bytes --]
On Fri, Apr 08, 2005 at 10:12:47AM +0300, Michael Shigorin wrote:
> On Fri, Apr 08, 2005 at 06:34:25AM +0400, Alexey Tourbin wrote:
> > Ну так вот. Алгоритм оптимизации зависимостей в BuildRequires.
> Т.е. предлагается обнюхать, а потом задвигать в rpm-build? :)
Нет, это прототип нового buildreq. Разные прототипы-куски нового
buildreq уже долгое время разбросаны у меня по всему /home/at. Иногда
этот кошмарный сон возвращается. На этот раз в обличье Lua. :)
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 15:32 ` Alexey Tourbin
@ 2005-04-08 17:03 ` Nick S. Grechukh
2005-04-08 17:08 ` Nick S. Grechukh
2005-04-08 17:09 ` Alexey Tourbin
0 siblings, 2 replies; 12+ messages in thread
From: Nick S. Grechukh @ 2005-04-08 17:03 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 269 bytes --]
On Friday 08 April 2005 18:32, Alexey Tourbin wrote:
> Нет, нужно ещё раз запустить алгоритм. :)
а, сорри. это mike@ меня сбил, предложив в buildreq пихать :-)
в findreq, пожалуй в самый раз будет.
а нагрузка на apt при обсчете зависимостей станет меньше или больше?
[-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 17:03 ` Nick S. Grechukh
@ 2005-04-08 17:08 ` Nick S. Grechukh
2005-04-10 9:18 ` Alexey Tourbin
2005-04-08 17:09 ` Alexey Tourbin
1 sibling, 1 reply; 12+ messages in thread
From: Nick S. Grechukh @ 2005-04-08 17:08 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 327 bytes --]
On Friday 08 April 2005 20:03, Nick S. Grechukh wrote:
> On Friday 08 April 2005 18:32, Alexey Tourbin wrote:
> > Нет, нужно ещё раз запустить алгоритм. :)
> а, сорри. это mike@ меня сбил, предложив в buildreq пихать :-)
сорри второй раз. наверное уже домой пора :-)
> в findreq, пожалуй в самый раз будет.
но не в buildreq.
[-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 17:03 ` Nick S. Grechukh
2005-04-08 17:08 ` Nick S. Grechukh
@ 2005-04-08 17:09 ` Alexey Tourbin
1 sibling, 0 replies; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-08 17:09 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 553 bytes --]
On Fri, Apr 08, 2005 at 08:03:30PM +0300, Nick S. Grechukh wrote:
> On Friday 08 April 2005 18:32, Alexey Tourbin wrote:
> > Нет, нужно ещё раз запустить алгоритм. :)
> а, сорри. это mike@ меня сбил, предложив в buildreq пихать :-)
Нет, это именно про buildreq.
> в findreq, пожалуй в самый раз будет.
С find-requires всё впорядке. find-requires проставляет в основном
виртуальные зависимости.
> а нагрузка на apt при обсчете зависимостей станет меньше или больше?
apt вообще не задействован, обсчет ведется по локальной базе rpm.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [devel] Re: lua-rpm-0.1 (squeeze.lua)
2005-04-08 17:08 ` Nick S. Grechukh
@ 2005-04-10 9:18 ` Alexey Tourbin
0 siblings, 0 replies; 12+ messages in thread
From: Alexey Tourbin @ 2005-04-10 9:18 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2515 bytes --]
On Fri, Apr 08, 2005 at 08:08:35PM +0300, Nick S. Grechukh wrote:
> > в findreq, пожалуй в самый раз будет.
> но не в buildreq.
Вот свежий пример (perl-DBD-Pg):
# Automatically added by buildreq on Fri Apr 08 2005
BuildRequires: libpq3-devel perl-DBI-devel perl-Encode perl-Pod-Escapes perl-Pod-Simple perl-Test-Pod perl-devel postgresql-devel
Оптимизатор вот что дает:
$ ./buildreq2 --squeeze libpq3-devel perl-DBI-devel perl-Encode perl-Pod-Escapes perl-Pod-Simple perl-Test-Pod perl-devel postgresql-devel
Expanding...
libpq3-devel -> libpq3
perl-DBI-devel -> perl-DBI
perl-DBI-devel -> perl(Config.pm) -> perl-base
perl-Encode -> libc.so.6 -> glibc-core
postgresql-devel -> libecpg4-devel
postgresql-devel -> sh
glibc-core -> setup
libecpg4-devel -> libecpg4
libecpg4-devel -> libcrypto.so.4 -> libssl
libecpg4-devel -> libpam.so.0 -> libpam0
libecpg4-devel -> libreadline.so.4.3 -> libreadline
libecpg4-devel -> libz.so.1 -> zlib
libpam0 -> pam-common -> pam-config
libreadline -> libtinfo.so.5 -> libtinfo
libtinfo -> terminfo
BuildRequires: glibc-core libecpg4 libecpg4-devel libpam0 libpq3 libpq3-devel libreadline libssl libtinfo pam-config perl-DBI perl-DBI-devel perl-Encode perl-Pod-Escapes perl-Pod-Simple perl-Test-Pod perl-base perl-devel postgresql-devel setup sh terminfo zlib
Squeezing...
setup < glibc-core
terminfo < libtinfo
libpq3-devel < postgresql-devel
perl-Pod-Escapes < perl(Pod/Escapes.pm) < perl-Pod-Simple
glibc-core < /sbin/post_ldconfig < zlib
pam-config < pam-common < libpam0
zlib < libz.so.1 < libecpg4-devel
sh < /bin/sh < pam-config
libreadline < libreadline.so.4.3 < libecpg4-devel
libtinfo < libtinfo.so.5 < libreadline
libssl < libcrypto.so.4 < libecpg4
libecpg4 < libecpg4-devel
libpam0 < libpam.so.0 < libecpg4-devel
perl-DBI < perl-DBI-devel
perl-Pod-Simple < perl(Pod/Simple.pm) < perl-Test-Pod
libecpg4-devel < postgresql-devel
libpq3 < libpq3-devel
perl-Encode < perl(Encode.pm) < perl-Pod-Simple
perl-base < perl(File/Spec.pm) < perl-Test-Pod
perl-devel < perl(Test/Builder.pm) < perl-Test-Pod
BuildRequires: perl-DBI-devel perl-Test-Pod postgresql-devel
$
То есть ужали всего до трёх пакетов. Какая оптимизация здесь ошибочна?
(Пакеты, которые взаимно зависят друг от друга, друг друга не поглощают;
один из них обязательно остается.) Мне конечно немного непривычно, что
в BR не будет perl-devel. Но perl-Test-Pod его стопудово вытягивает.
PS: у вас будет Выбор.
PPS: Lua сосёт. :)
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2005-04-10 9:18 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-08 2:34 [devel] lua-rpm-0.1 (squeeze.lua) Alexey Tourbin
2005-04-08 7:12 ` [devel] " Michael Shigorin
2005-04-08 10:02 ` Nick S. Grechukh
2005-04-08 10:06 ` Michael Shigorin
2005-04-08 10:18 ` Nick S. Grechukh
2005-04-08 15:21 ` Alexey Tourbin
2005-04-08 15:32 ` Alexey Tourbin
2005-04-08 17:03 ` Nick S. Grechukh
2005-04-08 17:08 ` Nick S. Grechukh
2005-04-10 9:18 ` Alexey Tourbin
2005-04-08 17:09 ` Alexey Tourbin
2005-04-08 15:35 ` Alexey Tourbin
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