Сделать или нет сделать python-nautilus зависимостью?

Вот в чем вопрос!


Хорошо, если не считать глупостей, я действительно вынужден принять трудное решение. Мое приложение написано на C ++ и позволяет другим сценариям вызывать методы через XML-RPC. Одним из таких сценариев является расширение Nautilus, написанное на Python. Расширение упаковывается вместе с остальной частью приложения и при установке копируется в соответствующее место (/usr/share/nautilus-python/extensions).

Теперь проблема в том, что расширение Nautilus требует, чтобы для работы был установлен пакет python-nautilus Install python-nautilus . Поэтому у меня есть три варианта:

  • Сделать пакет python-nautilus зависимым. Эта опция гарантирует, что любой, кто установит мой пакет, сможет использовать расширение Nautilus. Однако эта опция не будет привлекательной для пользователей XFCE или KDE - тонна зависимостей python-nautilus будет установлена ​​на их машинах и займет много места - даже если они никогда не используют Nautilus.

  • Поместите пакет python-nautilus в поле suggests: или recommends:. Эта опция предоставляет конечному пользователю способ избежать установки пакета python-nautilus (предоставив аргумент --no-install-suggests или --no-install-recommends для apt-get). Однако это не будет работать, когда пользователь устанавливает пакет в Центре программного обеспечения. (Я всегда путаюсь с тем, какие из этих двух полей установлены по умолчанию.)

  • Запросить пользователя, когда приложение установлено или впервые запущено. Эта опция более сложна, чем другие, но предлагает лучший компромисс между тем, чтобы пользователю было легко установить python-nautilus (не вдаваясь в технические пояснения), и не устанавливая ее, когда пользователь не нуждается в ней (или хочет ее) , Я думаю, что лучший способ реализовать это - это простая подсказка, которая вызывает apt-get, если пользователь хочет установить пакет.

  • Не устанавливать пакет вообще. Эта опция гарантирует, что никто не установил python-nautilus на свою машину, если он этого не хочет. Однако это также означает, что мое расширение Nautilus просто не будет работать на компьютере конечного пользователя, если они не установят пакет вручную.

Какой из этих вариантов кажется лучшим выбором? Я пропустил все плюсы и минусы для каждого из вариантов?

2
задан 11 March 2017 в 22:03

2 ответа

Зависит от того, насколько важно расширение Nautilus для вашего приложения:

  • Если ваше приложение невозможно использовать без него, сделайте python-nautilus зависимостью
  • Если ваше приложение можно использовать без него, но в нем отсутствуют некоторые важные особенности, сделайте его Recommends
  • Если просто приятно сделать его Suggests

Вместо использования Suggests, я бы предпочел сделайте расширение своим собственным пакетом. Таким образом, пользователю проще узнать, что ему нужно установить, если он хочет использовать расширение.

0
ответ дан 11 March 2017 в 22:03

тонна зависимостей python-nautilus будет установлена ​​на их машины

Вы знаете, я подумал: «Давайте посмотрим, является ли это Африканская или европейская тонна "и ...

python-nautilus
  Depends: libc6
  Depends: libglib2.0-0
  Depends: libgtk-3-0
  Depends: libnautilus-extension1a
  Depends: libpython2.7
  Depends: python-gi
  Depends: gir1.2-nautilus-3.0
  • В XFCE / Xubuntu и LXDE / Lubuntu :

    The following extra packages will be installed:
    gir1.2-nautilus-3.0
    The following NEW packages will be installed:
    gir1.2-nautilus-3.0 python-nautilus
    0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
    Need to get 25.2 kB of archives.
    After this operation, 410 kB of additional disk space will be used.
    
  • В [ 1120] KDE / Kubuntu :

    The following extra packages will be installed:
    gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gtk-3.0
    gir1.2-nautilus-3.0 gir1.2-pango-1.0 libgtk-3-0 libgtk-3-bin libgtk-3-common
    libnautilus-extension1a
    Suggested packages:
    librsvg2-common gvfs
    The following NEW packages will be installed:
    gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gtk-3.0
    gir1.2-nautilus-3.0 gir1.2-pango-1.0 libgtk-3-0 libgtk-3-bin libgtk-3-common
    libnautilus-extension1a python-nautilus
    0 upgraded, 11 newly installed, 0 to remove and 2 not upgraded.
    Need to get 2,835 kB of archives.
    After this operation, 8,672 kB of additional disk space will be used.
    

Итак, почти ничего для XFCE / LXDE и 8,5 МБ - не конец света - для KDE .

Я рекомендую сделать python-nautilus a ... рекомендует. Который будет установлен как apt-get / Synaptic / Software Center в качестве зависимости, если не указано иное.

Для тех немногих, кто отказывается использовать apt-get, но знает разницу между рекомендациями и зависимостями и не хочет рекомендовать, свойство APT::Install-Recommends=0 будет поддерживаться как Synaptic, так и Software Center. Свойство может быть установлено графически из настроек Synaptic или вручную через /etc/apt/apt.conf.d/.

0
ответ дан 11 March 2017 в 22:03

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

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