Диапазон версий в Debian / Control

При объявлении зависимостей в debian/control для создания пакета я могу указать нижнюю или верхнюю границу для версии. Например, если я полагаюсь, что libvtk6-dev является хотя бы версией 6.0.0, я могу написать в строке Depends:

 libvtk6-dev (>= 6.0.0)

Но можно ли указать диапазон? Например, если я зависел от версии 6.0 или 6.1 пакета, но не от 6.2 или 5.9, как бы я это указал?

Более сложный пример будет, если зависимости пакета изменяются в зависимости от версии. , Например, в libvtk6-dev отсутствуют зависимости, но это меняется в зависимости от версии установленного пакета. Как я могу сказать что-то вроде: если libvtk6-dev является версией 6.0 или 6.1, то это также зависит от libpython2.7-dev, а если версия больше или равна 6,2, то зависит от libproj-dev?

1
задан 3 May 2016 в 15:15

2 ответа

Можно сделать это с << пример:

 libvtk6-dev (>= 6.0.0),  libvtk6-dev (<< 6.2.0)

Этот путь Вы заблокировали диапазон между 6.0.0 и 6.1.0. Тем же путем необходимо указать для каждого пакета индивидуально, существует не, если эта зависимость, это затем просит это.

0
ответ дан 4 May 2016 в 01:15
  • Поэтому давайте сломаем его:

    libvtk6-dev (>= 6.0.0), libvtk6-dev (<< 6.2.0), libpython2.7-dev
    

    ИЛИ (логика op)

    libvtk6-dev (>= 6.2.0), libproj-dev
    

    , в Depends: похож И (логика op). | ИЛИ (логика op), но у них нет того же приоритета никаким скобки, которые будут объединены непосредственно в том порядке/форме.

  • Здесь, с чем я мог идти:

    libvtk6-dev (>= 6.0.0), libvtk6-dev (>= 6.2.0) | libpython2.7-dev, libvtk6-dev (<< 6.2.0) | libproj-dev
    

    Как считать его:

    1. Должен libvtk6-dev (>= 6.0.0)
    2. Если НЕТ libvtk6-dev (>= 6.2.0) затем libpython2.7-dev
    3. Если НЕТ libvtk6-dev (<< 6.2.0) затем libproj-dev

Забавная вещь, этот способ похож NOR (или NAND) логика в электронике. Если у Вас есть один из них затем, можно создать все логические операции из него.

0
ответ дан 4 May 2016 в 01:15

Другие вопросы по тегам:

Похожие вопросы: