Я создаю пакет debian, который генерирует файлы меню, используя update-menus menu, но на многих языках. Он активируется через триггерную функцию dpkg: "Interest / USR / Share / Menu". К сожалению, обеспечивает следующий вывод. Он работает хорошо, если я опускаю update-menus , однако в этом случае он теряет свою цель. Как написать скрипт, который активируется как триггер dpkg и вызывает update-menus?

Processing triggers for man-db ...
Processing triggers for icewm-menu-multilang-support ...
dpkg: cycle found while processing triggers:
 chain of packages whose triggers are or may be responsible:
  icewm-menu-multilang-support -> menu
 packages' pending triggers which are or may be unresolvable:
  icewm-menu-multilang-support: /usr/share/menu
  hicolor-icon-theme: /usr/share/icons/hicolor
  desktop-file-utils: /usr/share/applications
  menu: /usr/share/menu
dpkg: error processing icewm-menu-multilang-support (--unpack):
 triggers looping, abandoned
Processing triggers for menu ...
Processing triggers for hicolor-icon-theme ...
Processing triggers for desktop-file-utils ...
Errors were encountered while processing:
 icewm-menu-multilang-support
E: Sub-process /usr/bin/dpkg returned an error code (1)

1 ответ1

1

update-menus будет вызываться в любом случае, так как menu регистрирует тот же интерес, что и вы. Вам просто нужно убедиться, что ваш триггер запускается первым. Триггеры подчиняются порядку зависимостей, поэтому в вашем файле управления пакетами может быть использовано Enhances: menu (или Recommended: в другом направлении).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .