[devel] etcnet-0.9.4-alt1

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Ноя 3 02:10:32 MSK 2007


>  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 с явным списком функций, которые могут использовать
скрипты в этом каталоге.  Я не знаю, какой из этих мезанизмов должен
иметь приоритет.  Фактически имеет место разрешение неопределенности
("мы слишком мало знаем"), поэтому однозначно правильного ответа быть
не может.  Может быть лишь "более правильный" ответ, то есть можно
найти более приемлемый ответ для большего количества случаев.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20071103/792cb2ad/attachment-0002.bin>


Подробная информация о списке рассылки Devel