* Re: [devel] rpm 4.0.4-alt79
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
@ 2007-11-02 21:59 ` Alexey Tourbin
2007-11-02 22:04 ` [devel] alsa-utils-1.0.14-alt3 Alexey Tourbin
` (10 subsequent siblings)
11 siblings, 0 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 21:59 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1991 bytes --]
> SuSEfirewall2-3.6_SVNr175-alt0 Requires coreutils
> -SuSEfirewall2-3.6_SVNr175-alt0 Requires module-init-tools
> SuSEfirewall2-3.6_SVNr175-alt0 Requires perl(Net/DNS.pm)
shell.req выдает честное предупреждение, что имеется "конфликт" между
функцией внутри пакета и executable за пределами пакета. Этот конфликт
решается в пользу функции внутри пакета, потому что как бы считается,
что связи внутри пакета сильнее, чем между пакетами. Однако это грубое
эвристическое правильно делает не всегда то, что нужно.
shell.req: /usr/src/tmp/SuSEfirewall2-buildroot/sbin/SuSEfirewall2: modprobe() is possibly used before its definition
shell.req: /usr/src/tmp/SuSEfirewall2-buildroot/sbin/SuSEfirewall2: modprobe() has execuatable candidate: modprobe -> module-init-tools (skip)
shell.req: /usr/src/tmp/SuSEfirewall2-buildroot/etc/sysconfig/scripts/SuSEfirewall2-qdisc: modprobe() is possibly defined in /usr/src/tmp/SuSEfirewall2-buildroot/sbin/SuSEfirewall2
shell.req: /usr/src/tmp/SuSEfirewall2-buildroot/etc/sysconfig/scripts/SuSEfirewall2-qdisc: modprobe() has execuatable candidate: modprobe -> module-init-tools (skip)
Вот кусочек скрипта /sbin/SuSEfirewall2:
271 if [ "$MODE" = debug ]; then
272 IPTABLES="iptables"
273 iptables()
274 {
275 echo iptables "$@"
276 }
277 IP6TABLES="ip6tables"
278 ip6tables()
279 {
280 echo ip6tables "$@"
281 }
282 TC="tc"
283 tc()
284 {
285 echo tc "$@"
286 }
287 modprobe()
288 {
289 echo modprobe "$@"
290 }
291 else
Функция modprobe имеет приоритет над внешней командой modprobe.
Здесь меня смущает то, что функция modprobe определена условно,
и диагностика "used before its definition" по-видимому, неправильная.
Я ещё над этим подумаю, но в целом чуда здесь ждать не следует.
То есть rpm-build сработал скорее правильно.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] alsa-utils-1.0.14-alt3
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
2007-11-02 21:59 ` Alexey Tourbin
@ 2007-11-02 22:04 ` Alexey Tourbin
2007-11-02 22:20 ` [devel] backupninja-0.9.4-alt1 Alexey Tourbin
` (9 subsequent siblings)
11 siblings, 0 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 22:04 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 820 bytes --]
> alsa-utils-1.0.14-alt3 Requires gawk
> -alsa-utils-1.0.14-alt3 Requires gettext
> alsa-utils-1.0.14-alt3 Requires grep
Аналогичная ситуация -- определена функция gettext(), которая
"конкурирует" с /usr/bin/gettext.
shell.req: /usr/src/tmp/alsa-utils-buildroot/usr/sbin/alsaconf: gettext() is possibly used before its definition
shell.req: /usr/src/tmp/alsa-utils-buildroot/usr/sbin/alsaconf: gettext() has execuatable candidate: gettext -> gettext (skip)
33 # i18n stuff
34 if test "$USE_NLS" = "yes" && which gettext > /dev/null; then
35 xecho() {
36 gettext -s "$*"
37 }
38 else
39 xecho() {
40 echo "$*"
41 }
42 gettext() {
43 echo -n "$*"
44 }
45 fi
Пока прошу в связи с этим ничего не делать.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] backupninja-0.9.4-alt1
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
2007-11-02 21:59 ` Alexey Tourbin
2007-11-02 22:04 ` [devel] alsa-utils-1.0.14-alt3 Alexey Tourbin
@ 2007-11-02 22:20 ` Alexey Tourbin
2007-11-02 22:25 ` [devel] bmpx-devel-0.40.9-alt1 Alexey Tourbin
` (8 subsequent siblings)
11 siblings, 0 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 22:20 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1745 bytes --]
> backupninja-0.9.4-alt1 Requires findutils
> -backupninja-0.9.4-alt1 Requires glibc-utils
> backupninja-0.9.4-alt1 Requires(rpmlib) rpmlib(CompressedFileNames) <= 3.0.4-1
shell.req: /usr/src/tmp/backupninja-buildroot/usr/sbin/backupninja: getconf() is possibly defined in /usr/src/tmp/backupninja-buildroot/usr/lib/backupninja/tools
shell.req: /usr/src/tmp/backupninja-buildroot/usr/sbin/backupninja: getconf() has execuatable candidate: getconf -> glibc-utils (skip)
shell.req: /usr/src/tmp/backupninja-buildroot/usr/sbin/ninjahelper: getconf() is possibly defined in /usr/src/tmp/backupninja-buildroot/usr/lib/backupninja/tools
shell.req: /usr/src/tmp/backupninja-buildroot/usr/sbin/ninjahelper: getconf() has execuatable candidate: getconf -> glibc-utils (skip)
Зависимость на glibc-utils исчезла правильно.
/usr/lib/backupninja/tools:
40 function getconf() {
41 CURRENT_PARAM=$1
42 ret=`awk -f $libdirectory/parseini S=$CURRENT_SECTION P=$CURRENT_PARAM $CURRENT_CONF_FILE`
43 # if nothing is returned, set the default
44 if [ "$ret" == "" -a "$2" != "" ]; then
45 ret="$2"
46 fi
47
48 # replace * with %, so that it is not globbed.
49 ret="${ret//\\*/__star__}"
50
51 # this is weird, but single quotes are needed to
52 # allow for returned values with spaces. $ret is still expanded
53 # because it is in an 'eval' statement.
54 eval $1='$ret'
55 }
/usr/sbin/backupninja:
420 . $libdirectory/tools
...
426 getconf configdirectory /etc/backup.d
427 getconf scriptdirectory /usr/share/backupninja
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] bmpx-devel-0.40.9-alt1
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (2 preceding siblings ...)
2007-11-02 22:20 ` [devel] backupninja-0.9.4-alt1 Alexey Tourbin
@ 2007-11-02 22:25 ` Alexey Tourbin
2007-11-02 22:28 ` [devel] compiz-devel-0.6.2-alt2 Alexey Tourbin
` (7 subsequent siblings)
11 siblings, 0 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 22:25 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 818 bytes --]
> bmpx-devel-0.40.9-alt1 Provides pkgconfig(bmp-2.0) = 0.40.9
> +bmpx-devel-0.40.9-alt1 Requires libdbus-devel
> +bmpx-devel-0.40.9-alt1 Requires libdbus-glib-devel
> bmpx-devel-0.40.9-alt1 Requires pkgconfig(dbus-1)
$ rpmpeek bmpx-devel-0.40.9-alt1.i586.rpm grep Libs: ./usr/lib/pkgconfig/bmp-2.0.pc
Libs: -ldbus-1 -ldbus-glib-1
$ rpmpeek bmpx-devel-0.40.9-alt1.i586.rpm grep Requires: ./usr/lib/pkgconfig/bmp-2.0.pc
Requires: dbus-1 dbus-glib-1 glib-2.0
$
В принципе, с одной стороны, зависимости, прожденные через Libs,
во многих случаях дублируют зависимости указанные в Requires.
В данном случае напр. добавилась зависимость на libdbus-devel
при том, что уже была зависимость на pkgconfig(dbus-1).
С другой стороны, ничего плохого в более жестких зависимостях
у devel-пакетов я пока не вижу.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] compiz-devel-0.6.2-alt2
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (3 preceding siblings ...)
2007-11-02 22:25 ` [devel] bmpx-devel-0.40.9-alt1 Alexey Tourbin
@ 2007-11-02 22:28 ` Alexey Tourbin
2007-11-02 22:38 ` [devel] compizconfig-python-devel-0.6.0-alt1 Alexey Tourbin
` (6 subsequent siblings)
11 siblings, 0 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 22:28 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 377 bytes --]
> compiz-devel-0.6.2-alt2 Requires compiz = 0.6.2-alt2
> +compiz-devel-0.6.2-alt2 Requires libX11-devel
> +compiz-devel-0.6.2-alt2 Requires libXrender-devel
> compiz-devel-0.6.2-alt2 Requires pkgconfig(ice)
$ rpmpeek compiz-devel-0.6.2-alt2.i586.rpm sh -c 'grep ^Libs:.\*-l ./usr/lib/pkgconfig/*.pc'
./usr/lib/pkgconfig/libdecoration.pc:Libs: -lXrender -lX11 -ldecoration
$
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] compizconfig-python-devel-0.6.0-alt1
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (4 preceding siblings ...)
2007-11-02 22:28 ` [devel] compiz-devel-0.6.2-alt2 Alexey Tourbin
@ 2007-11-02 22:38 ` Alexey Tourbin
2007-11-02 22:57 ` [devel] emerald-devel-0.5.2-alt1 Alexey Tourbin
` (5 subsequent siblings)
11 siblings, 0 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 22:38 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1965 bytes --]
> compizconfig-python-devel-0.6.0-alt1 Requires compizconfig-python = 0.6.0-alt1
> +compizconfig-python-devel-0.6.0-alt1 Requires glib2-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libICE-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libSM-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libXcomposite-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libXdamage-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libXfixes-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libXinerama-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libXrandr-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libcompizconfig-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libstartup-notification-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libxml2-devel
> +compizconfig-python-devel-0.6.0-alt1 Requires libxslt-devel
> compizconfig-python-devel-0.6.0-alt1 Requires pkgconfig(glib-2.0) >= 2.6
$ rpmpeek compizconfig-python-devel-0.6.0-alt1.i586.rpm sh -c 'grep ^Libs:.\*-l ./usr/lib/pkgconfig/*.pc'
Libs: -lcompizconfig -lXcomposite -lXdamage -lXrandr -lXinerama -lSM -lxslt -lstartup-notification-1 -lXfixes -lICE -lxml2 -lglib-2.0 -lcompizconfig
$
Слишком много библиотек указано в Libs. Часть из них, наверное, нужно
переместить в Libs.private. Общий принцип примерно такой: в Libs нужно
указывать только те библиотеки, функции которых явно подцепляются из
хедеров этого же *-devel пакета. На практике это чаще всего означает,
что в Libs нужно указывать только одну саму эту библиотеку, которая
лежит в пакете. Однако здесь бывают тонкости. Если в хедерах явно
или косвенно используются функции их других хедеров (из других пакетов),
то это может дополнительно потребовать линковки с соответствующими
библиотеками.
Напр.
/usr/include/this.h:
#include <that.h>
#define this_foo() \
that_foo()
/usr/lib/pkgconfig/this.pc:
Requires: that
Libs: -lthis -lthat
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] emerald-devel-0.5.2-alt1
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (5 preceding siblings ...)
2007-11-02 22:38 ` [devel] compizconfig-python-devel-0.6.0-alt1 Alexey Tourbin
@ 2007-11-02 22:57 ` Alexey Tourbin
2007-11-02 23:10 ` [devel] etcnet-0.9.4-alt1 Alexey Tourbin
` (4 subsequent siblings)
11 siblings, 0 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 22:57 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1589 bytes --]
> emerald-devel-0.5.2-alt1 Provides pkgconfig(emeraldengine) = 0.5.2
> +emerald-devel-0.5.2-alt1 Requires compiz-devel
> emerald-devel-0.5.2-alt1 Requires emerald = 0.5.2-alt1
> +emerald-devel-0.5.2-alt1 Requires fontconfig-devel
> +emerald-devel-0.5.2-alt1 Requires glib2-devel
> +emerald-devel-0.5.2-alt1 Requires libX11-devel
> +emerald-devel-0.5.2-alt1 Requires libXrender-devel
> +emerald-devel-0.5.2-alt1 Requires libatk-devel
> +emerald-devel-0.5.2-alt1 Requires libcairo-devel
> +emerald-devel-0.5.2-alt1 Requires libfreetype-devel
> +emerald-devel-0.5.2-alt1 Requires libgtk+2-common-devel
> +emerald-devel-0.5.2-alt1 Requires libgtk+2-devel
> +emerald-devel-0.5.2-alt1 Requires libpango-devel
> +emerald-devel-0.5.2-alt1 Requires libstartup-notification-devel
> +emerald-devel-0.5.2-alt1 Requires libwnck-devel
> emerald-devel-0.5.2-alt1 Requires pkgconfig(gtk+-2.0) >= 2.8.0
> @@ -24466,2 +24492,3 @@
> emerald-devel-0.5.2-alt1 Requires pkgconfig(xrender) >= 0.8.4
> +emerald-devel-0.5.2-alt1 Requires zlib-devel
> emerald-devel-0.5.2-alt1 Requires(rpmlib) rpmlib(CompressedFileNames) <= 3.0.4-1
В Libs: указано очень много библиотек.
Наверное, большую их часть нужно переместит в Libs.private.
$ rpmpeek emerald-devel-0.5.2-alt1.i586.rpm sh -c 'grep ^Libs:.\*-l ./usr/lib/pkgconfig/*.pc'
Libs: -lwnck-1 -lgtk-x11-2.0 -lstartup-notification-1 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -ldecoration -lXrender -lX11 -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lfontconfig -lfreetype -lz -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
$
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] etcnet-0.9.4-alt1
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (6 preceding siblings ...)
2007-11-02 22:57 ` [devel] emerald-devel-0.5.2-alt1 Alexey Tourbin
@ 2007-11-02 23:10 ` Alexey Tourbin
2007-11-03 20:28 ` Denis Ovsienko
2007-11-02 23:26 ` [devel] f-spot-0.3.5-alt2 (mono) Alexey Tourbin
` (3 subsequent siblings)
11 siblings, 1 reply; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 23:10 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 2199 bytes --]
> etcnet-0.9.4-alt1 Provides network-config-subsystem
> -etcnet-0.9.4-alt1 Requires /etc/rc.d/init.d(ExecIfExecutable)
> -etcnet-0.9.4-alt1 Requires /etc/rc.d/init.d(SourceIfNotEmpty)
> -etcnet-0.9.4-alt1 Requires /etc/rc.d/init.d(is_yes)
> etcnet-0.9.4-alt1 Requires bash
Здесь вот какой неприятный катаклизм: некоторые функции, стандартные
для /etc/init.d/functions, где-то определяются в этом пакете повторно.
/etc/net/scripts/functions:
101 ExecIfExecutable()
102 {
103 local f
104 f="$1"
105 shift
106 [ -x "$f" ] && "$f" "$@"
107 }
/etc/rc.d/init.d/network:
7 # ALTLinux: Do not load RH compatibility interface.
8 WITHOUT_RC_COMPAT=1
9
10 SCRIPTDIR=/etc/net/scripts
11 if [ ! -s $SCRIPTDIR/functions ]; then
12 echo "Error: $SCRIPTDIR/functions not found!"
13 exit 1
14 fi
15 export VERBOSE=on
16 export PROGRESS=on
17 # In certain cases we receive preset variables, some of those are not
18 # what we want to accept.
19 export HOST=
20 . $SCRIPTDIR/functions
21 pickup_defaults
22 . $SCRIPTDIR/functions-fw
23 SourceIfNotEmpty /etc/sysconfig/network
24 export IFACEDIR SCRIPTDIR NETPROFILE NETHOST
25 LOCKFILE=/var/lock/subsys/network
Другими словами, в скрипте /etc/rc.d/init.d/network "стандартная
библиотека" /etc/rc.d/init.d/functions вообще не подключается,
и, таким образом, ослабление зависимостей на /etc/rc.d/init.d(...)
в данном случае правильное.
Но я не уверен, что это правильно в общем случае. То есть здесь
конфликтуют два механизма разрешение зависимостей: 1) через определение
функции в другом файле в пределах одного пакета; 2) через
.../.provides.sh с явным списком функций, которые могут использовать
скрипты в этом каталоге. Я не знаю, какой из этих мезанизмов должен
иметь приоритет. Фактически имеет место разрешение неопределенности
("мы слишком мало знаем"), поэтому однозначно правильного ответа быть
не может. Может быть лишь "более правильный" ответ, то есть можно
найти более приемлемый ответ для большего количества случаев.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] etcnet-0.9.4-alt1
2007-11-02 23:10 ` [devel] etcnet-0.9.4-alt1 Alexey Tourbin
@ 2007-11-03 20:28 ` Denis Ovsienko
2007-11-03 20:38 ` Alexey Tourbin
0 siblings, 1 reply; 42+ messages in thread
From: Denis Ovsienko @ 2007-11-03 20:28 UTC (permalink / raw)
To: devel
> > etcnet-0.9.4-alt1 Provides network-config-subsystem
> > -etcnet-0.9.4-alt1 Requires /etc/rc.d/init.d
> > (ExecIfExecutable) -etcnet-0.9.4-alt1
> > Requires /etc/rc.d/init.d(SourceIfNotEmpty)
> > -etcnet-0.9.4-alt1 Requires /etc/rc.d/init.d(is_yes)
> > etcnet-0.9.4-alt1 Requires bash
>
> Здесь вот какой неприятный катаклизм: некоторые функции, стандартные
> для /etc/init.d/functions, где-то определяются в этом пакете повторно.
Это не дубль, а самостоятельная ветвь развития. Кроме взятого из
init.d/functions там улучшилось и добавилось ещё много чего.
[...]
> Другими словами, в скрипте /etc/rc.d/init.d/network "стандартная
> библиотека" /etc/rc.d/init.d/functions вообще не подключается,
Совершенно верно. Это уже года полтора-два как сложилось.
> и, таким образом, ослабление зависимостей на /etc/rc.d/init.d(...)
> в данном случае правильное.
>
> Но я не уверен, что это правильно в общем случае. То есть здесь
> конфликтуют два механизма разрешение зависимостей: 1) через
> определение функции в другом файле в пределах одного пакета; 2) через
> .../.provides.sh с явным списком функций, которые могут использовать
> скрипты в этом каталоге. Я не знаю, какой из этих мезанизмов должен
> иметь приоритет. Фактически имеет место разрешение неопределенности
> ("мы слишком мало знаем"), поэтому однозначно правильного ответа быть
> не может. Может быть лишь "более правильный" ответ, то есть можно
> найти более приемлемый ответ для большего количества случаев.
Вот этого я так и не понял. Мне нужно будет регулировать etcnet.spec или
можно оставить как есть?
--
DO4-UANIC
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] f-spot-0.3.5-alt2 (mono)
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (7 preceding siblings ...)
2007-11-02 23:10 ` [devel] etcnet-0.9.4-alt1 Alexey Tourbin
@ 2007-11-02 23:26 ` Alexey Tourbin
2007-11-03 9:04 ` Andrey Rahmatullin
2007-11-05 7:29 ` [devel] f-spot-0.3.5-alt2 (mono) Ildar Mulyukov
2007-11-03 0:29 ` [devel] fedora-ds-1.1.0-alt0.20071030 Alexey Tourbin
` (2 subsequent siblings)
11 siblings, 2 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-02 23:26 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 2427 bytes --]
> f-spot-0.3.5-alt2 Provides /usr/lib/f-spot/libfspotjpegtran.so.0
> -f-spot-0.3.5-alt2 Provides mono(FlickrNet) = 2.1.2.21188
> +f-spot-0.3.5-alt2 Provides mono(FlickrNet) = 2.1.2.18552
> f-spot-0.3.5-alt2 Provides mono(NDesk.DBus) = 1.0.0.0
> @@ -27252,3 +27276,3 @@
> f-spot-0.3.5-alt2 Provides mono(google-sharp) = 0.1.0.0
> -f-spot-0.3.5-alt2 Provides mono(libgphoto2-sharp) = 1.0.2861.21205
> +f-spot-0.3.5-alt2 Provides mono(libgphoto2-sharp) = 1.0.2862.18570
> f-spot-0.3.5-alt2 Requires bash
У mono "плавают" зависимости, это уже не первый раз такое вылезает,
а почему я прямо сейчас сказать не могу. Гадость там какая-то
определённая имеется.
Я прошу уважаемых товарищей maintainer'ов собрать побольше (полезных)
mono-пакетов, чтобы regression тестирование давало больше информации
для выявления закономерностей.
У меня где-то в todo имеется rpm-build-mono, но поскольку кажется что
специалистов по этому делу особо нет и многие моновские пакеты
собираются по принципу довести сборку до победного конца и при случае
бессистемно захачить что-нибудь в процессе, то я не знаю, с кем это
обсудить.
Тема такая: синхронизация *.dll и *.dll.config файлов на предмет
разрешения зависимостей в soname'ы.
Например в last-exit.spec используется вот такая диковатая конструкция:
25 # find out versions of DllImport'ed libraries
26 BuildRequires(pre): libnotify libX11
27 %define libnotify_so %(rpm -ql libnotify | fgrep -m1 otify.so. | xargs basename)
28 %define libX11_so %(rpm -ql libX11 | fgrep -m1 libX11.so. | xargs basename)
29 %define libc_so %(rpm -ql glibc-core | fgrep -m1 libc.so | xargs basename)
30 %define libgdk_so %(rpm -ql libgtk+2 | fgrep -m1 gdk-x11-2.0 | xargs basename)
31 %ifarch x86_64
32 %define bits ()(64bit)
33 %else
34 %define bits %nil
35 %endif
36 Requires: %libnotify_so%bits %libX11_so%bits %libc_so%bits %libgdk_so%bits
37
38
39 %description
40 A free GTK-based Last.fm player.
41
42 %prep
43 %setup
44 sed -i '/DllImport/s/"notify"/"%libnotify_so"/' src/*.cs
45 sed -i '/DllImport/s/"libX11"/"%libX11_so"/' src/*.cs
46 sed -i '/DllImport/s/"libc"/"%libc_so"/' src/*.cs
47 sed -i '/DllImport/s/"gdk-x11-2.0"/"%libgdk_so"/' src/*.cs
Ясно, что здесь нужно системное решение для целого класса такого рода
проблем.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] f-spot-0.3.5-alt2 (mono)
2007-11-02 23:26 ` [devel] f-spot-0.3.5-alt2 (mono) Alexey Tourbin
@ 2007-11-03 9:04 ` Andrey Rahmatullin
2007-11-03 19:10 ` Alexey Tourbin
2007-11-05 7:29 ` [devel] f-spot-0.3.5-alt2 (mono) Ildar Mulyukov
1 sibling, 1 reply; 42+ messages in thread
From: Andrey Rahmatullin @ 2007-11-03 9:04 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 685 bytes --]
On Sat, Nov 03, 2007 at 02:26:41AM +0300, Alexey Tourbin wrote:
> > -f-spot-0.3.5-alt2 Provides mono(FlickrNet) = 2.1.2.21188
> > +f-spot-0.3.5-alt2 Provides mono(FlickrNet) = 2.1.2.18552
А зачем зависимость на четвёртый знак?
Официально четвёртый знак можно менять не ломая ABI, а ставить
AssemblyVersion("1.0.*") даже рекомендуют (при этом компилятор от NetFX
ставит 3-е число от дня, а 4-е случайным).
В f-spot::FlickrNet/AssemblyInfo.cs наблюдаем
[assembly: AssemblyVersion("2.1.2.*")], чтд.
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
Диалап и медленно и дорого и не комфортно для остальных членов семьи...
-- genix in community@
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] f-spot-0.3.5-alt2 (mono)
2007-11-03 9:04 ` Andrey Rahmatullin
@ 2007-11-03 19:10 ` Alexey Tourbin
2007-11-04 9:27 ` Andrey Rahmatullin
0 siblings, 1 reply; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-03 19:10 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 553 bytes --]
On Sat, Nov 03, 2007 at 02:04:16PM +0500, Andrey Rahmatullin wrote:
> On Sat, Nov 03, 2007 at 02:26:41AM +0300, Alexey Tourbin wrote:
> > > -f-spot-0.3.5-alt2 Provides mono(FlickrNet) = 2.1.2.21188
> > > +f-spot-0.3.5-alt2 Provides mono(FlickrNet) = 2.1.2.18552
>
> А зачем зависимость на четвёртый знак?
> Официально четвёртый знак можно менять не ломая ABI, а ставить
Где прочитать официальное про разрешение версий?
> AssemblyVersion("1.0.*") даже рекомендуют (при этом компилятор от NetFX
> ставит 3-е число от дня, а 4-е случайным).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] f-spot-0.3.5-alt2 (mono)
2007-11-03 19:10 ` Alexey Tourbin
@ 2007-11-04 9:27 ` Andrey Rahmatullin
2007-11-04 14:44 ` Alexey Tourbin
0 siblings, 1 reply; 42+ messages in thread
From: Andrey Rahmatullin @ 2007-11-04 9:27 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 602 bytes --]
On Sat, Nov 03, 2007 at 10:10:24PM +0300, Alexey Tourbin wrote:
> > А зачем зависимость на четвёртый знак?
> > Официально четвёртый знак можно менять не ломая ABI, а ставить
> Где прочитать официальное про разрешение версий?
Ну.. MSDN..
http://msdn2.microsoft.com/en-us/library/system.version.aspx
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
<wRAR> зато по-прежнему модно су-без-минуса
<Lost> m31: юзай _только_ su -
<wRAR> ну вот и где об этом написано?
<Lost> wRAR: в любой книжке по убунте
<php-coder> wRAR: добавь в фортунки будет хоть куда сослаться :)
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] f-spot-0.3.5-alt2 (mono)
2007-11-04 9:27 ` Andrey Rahmatullin
@ 2007-11-04 14:44 ` Alexey Tourbin
2007-11-04 18:38 ` Andrey Rahmatullin
0 siblings, 1 reply; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-04 14:44 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 658 bytes --]
On Sun, Nov 04, 2007 at 02:27:49PM +0500, Andrey Rahmatullin wrote:
> On Sat, Nov 03, 2007 at 10:10:24PM +0300, Alexey Tourbin wrote:
> > > А зачем зависимость на четвёртый знак?
> > > Официально четвёртый знак можно менять не ломая ABI, а ставить
> > Где прочитать официальное про разрешение версий?
> Ну.. MSDN..
> http://msdn2.microsoft.com/en-us/library/system.version.aspx
Я не понял, сколько цифр необходимо и достаточно сохранить для
разрешения зависимостей -- две или три? То есть где в mono/
находится код загрузчика зависимостей, который определят,
подходит версия или нет, если требуемая и имеющаяся версии
в точности не совпадают?
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] f-spot-0.3.5-alt2 (mono)
2007-11-04 14:44 ` Alexey Tourbin
@ 2007-11-04 18:38 ` Andrey Rahmatullin
2007-11-04 19:53 ` Alexey Tourbin
2007-11-04 21:59 ` Alexey Tourbin
0 siblings, 2 replies; 42+ messages in thread
From: Andrey Rahmatullin @ 2007-11-04 18:38 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 821 bytes --]
On Sun, Nov 04, 2007 at 05:44:51PM +0300, Alexey Tourbin wrote:
> Я не понял, сколько цифр необходимо и достаточно сохранить для
> разрешения зависимостей -- две или три? То есть где в mono/
> находится код загрузчика зависимостей, который определят,
> подходит версия или нет, если требуемая и имеющаяся версии
> в точности не совпадают?
Так.
Я почитал умных книжек и понял, что неверно всё это дело понимал.
Во-1-х, Рихтер явно рекомендует выносить "1.0.*" из AssemblyInfo.cs и
писать честные версии.
Во-2-х, версии для библиотек в GAC, _кроме стандартных_
(mono/metadata/assembly.c::framework_assemblies[]) проверяются целиком.
Версии для библиотек не в GAC (т.е. локальных) не проверяются вообще.
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
<Lost> Force the use, Luke :)
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] f-spot-0.3.5-alt2 (mono)
2007-11-04 18:38 ` Andrey Rahmatullin
@ 2007-11-04 19:53 ` Alexey Tourbin
2007-11-04 21:59 ` Alexey Tourbin
1 sibling, 0 replies; 42+ messages in thread
From: Alexey Tourbin @ 2007-11-04 19:53 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1343 bytes --]
On Sun, Nov 04, 2007 at 11:38:42PM +0500, Andrey Rahmatullin wrote:
> Я почитал умных книжек и понял, что неверно всё это дело понимал.
> Во-1-х, Рихтер явно рекомендует выносить "1.0.*" из AssemblyInfo.cs и
> писать честные версии.
> Во-2-х, версии для библиотек в GAC, _кроме стандартных_
> (mono/metadata/assembly.c::framework_assemblies[]) проверяются целиком.
> Версии для библиотек не в GAC (т.е. локальных) не проверяются вообще.
У меня пока появилась такая идея: писать Requires на эти стандартные
библиотеки с двумя цифрами, а Provides в двух штуках -- как с двумя,
так и с четырьмя цифрами. Т.е.
Requires: mono(mscorlib) = 1.0
Provides: mono(mscorlib) = 1.0
Provides: mono(mscorlib) = 1.0.5000.0
Кстати, сейчас уже есть хак в зависимостях на тему "неподходящих черырех
цифр" у стандартных *.dll файлов.
/usr/lib/rpm/mono.req:
73 # Allow rpm deps to be resolved for 1.0 profile version
74 if (VERSION=="1.0.3300.0")
75 OP=">="
76 else
77 OP="="
Это код из mono-*/scripts/mono-find-requires.in.
Хак это потому что зависимость ">=" здесь неправильная,
просто по смыслу требуется усечение точности.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] f-spot-0.3.5-alt2 (mono)
2007-11-04 18:38 ` Andrey Rahmatullin
2007-11-04 19:53 ` Alexey Tourbin
@ 2007-11-04 21:59 ` Alexey Tourbin
2007-11-05 11:29 ` Andrey Rahmatullin
1 sibling, 1 reply; 42+ messages in thread
From: @ 2007-11-04 21:59 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 42+ messages in thread
* Re: [devel] f-spot-0.3.5-alt2 (mono)
2007-11-02 23:26 ` [devel] f-spot-0.3.5-alt2 (mono) Alexey Tourbin
2007-11-03 9:04 ` Andrey Rahmatullin
@ 2007-11-05 7:29 ` Ildar Mulyukov
2007-11-05 9:28 ` Victor Forsyuk
1 sibling, 1 reply; 42+ messages in thread
From: @ 2007-11-05 7:29 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] fedora-ds-1.1.0-alt0.20071030
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (8 preceding siblings ...)
2007-11-02 23:26 ` [devel] f-spot-0.3.5-alt2 (mono) Alexey Tourbin
@ 2007-11-03 0:29 ` Alexey Tourbin
2007-11-03 0:40 ` [devel] gstreamer-devel-0.10.14-alt1 Alexey Tourbin
2007-11-03 0:51 ` [devel] gtkglarea2-devel-1.99.0-alt3 Alexey Tourbin
11 siblings, 0 replies; 42+ messages in thread
From: @ 2007-11-03 0:29 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] gstreamer-devel-0.10.14-alt1
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (9 preceding siblings ...)
2007-11-03 0:29 ` [devel] fedora-ds-1.1.0-alt0.20071030 Alexey Tourbin
@ 2007-11-03 0:40 ` Alexey Tourbin
2007-11-03 1:25 ` [devel] распил пакетов Alexey Tourbin
2007-11-03 14:39 ` [devel] gstreamer-devel-0.10.14-alt1 Dmitry V. Levin
2007-11-03 0:51 ` [devel] gtkglarea2-devel-1.99.0-alt3 Alexey Tourbin
11 siblings, 2 replies; 42+ messages in thread
From: @ 2007-11-03 0:40 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 42+ messages in thread
* [devel] gtkglarea2-devel-1.99.0-alt3
2007-11-02 21:46 [devel] rpm 4.0.4-alt79 Alexey Tourbin
` (10 preceding siblings ...)
2007-11-03 0:40 ` [devel] gstreamer-devel-0.10.14-alt1 Alexey Tourbin
@ 2007-11-03 0:51 ` Alexey Tourbin
11 siblings, 0 replies; 42+ messages in thread
From: @ 2007-11-03 0:51 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 42+ messages in thread