Dpkg ट्रिगर चक्र को कैसे रोकें?


0

मैं एक डेबियन पैकेज बनाता हूं जो मेनू फ़ाइलों का उपयोग करके उत्पन्न करता है update-menus, लेकिन कई भाषाओं में। यह dpkg की ट्रिगर सुविधा के माध्यम से सक्रिय है: "ब्याज / यूएसआर / शेयर / मेनू"। दुर्भाग्य से निम्न आउटपुट प्रदान करता है। यदि मैं छोड़ता हूं तो यह अच्छी तरह से चलता है 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

update-menusवैसे भी कहा जाता है, क्योंकि menuआप उसी ब्याज को पंजीकृत करेंगे। आपको केवल यह सुनिश्चित करने की आवश्यकता है कि आपका ट्रिगर पहले चलता है। ट्रिगर निर्भरता आदेश का पालन करते हैं, इसलिए Enhances: menuआपके पैकेज नियंत्रण फ़ाइल पर (या एक सिफारिश: दूसरी दिशा में) चाल हो सकती है।


1
मेरा पैकेज postinst triggerमेनू के एक से पहले चलता है, भले ही Enhances: menuया Recommends: menuमेरे पैकेज में घोषित किया गया हो।
15

फिर आप सेट हो गए? अपने ट्रिगर में अपना जनरेटर सामान चलाएं, और अपडेट-मेनू न चलाएं, दूसरा ट्रिगर ऐसा करेगा।
तोबू

क्षमा करें, मैंने यह नहीं कहा, मैं अपडेट-मेन्यू को सरलता से कहता हूं, क्योंकि मैं अपडेट-मेन्यू जैसे सिस्टम-वाइड मेनू जेनरेट करना चाहता हूं - लेकिन सभी स्थानों में प्रत्येक लोकेल के लिए अलग-अलग निर्देशिकाओं में। 'मेनू' को ट्रिगर किए बिना अपडेट-मेनू के समान कैसे करें?
बंदी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.