[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: understanding dpkg trigger cycles



Hi,

thanks a lot for your further explanations and clarifications!

Based on this understanding I wrote a script which does the following:

 1. calculate the set of packages A which declare an "interest" or
    "interest-await" file trigger (no explicit triggers) in their
    DEBIAN/triggers control file (Helmut supplied me with an initial list of
    binary packages to check from the data on lilburn)

 2. calculate the dependency closure of all packages in the set A

 3. for each package in A, check if it gets triggered by any of the paths
    provided by any of the packages in its dependency closure

In summary, this finds some of the instances where a trigger cycle is created
by an interested package directly or indirectly depending on a package which is
put into triggers-awaited state for that particular package.

Helmut helped me to limit the binary packages to search for DEBIAN/trigger
files to 136 packages. After downloading and inspecting their content of
DEBIAN/trigger, 48 packages remained which express an "interest" (without
noawait) on a path.

Out of those, it seems that 27 binary packages could potentially form a trigger
cycle.

The data is attached. The first column is the package containing the trigger.
The second column is the path for which the trigger gets activated. The third
column is a binary package that the binary package in the first column directly
or indirectly depends on and which contains one or more files that trigger the
package in the first column.

Does this data look correct?

cheers, josch
apt-cudf /usr/share/cudf/solvers aspcud:
apt-cudf /usr/share/cudf/solvers mccs:
apt-cudf /usr/share/cudf/solvers packup:
auctex /usr/share/texmf preview-latex-style:
auctex /usr/share/texmf tex-common:
cracklib-runtime /usr/share/dict cracklib-runtime:
cups /usr/share/cups/ppd-updaters cups-filters:
dovecot-core /usr/lib/dovecot/modules dovecot-core:
fusiondirectory /usr/share/fusiondirectory/plugins fusiondirectory:
fusionforge-plugin-mediawiki /usr/share/mediawiki fusionforge-plugin-mediawiki:
fusionforge-plugin-mediawiki /usr/share/mediawiki mediawiki:
fusionforge-plugin-mediawiki /usr/share/mediawiki mediawiki-classes:
gap-core /usr/lib/gap gap-core:
gap-core /usr/share/gap gap-core:
gap-core /usr/share/gap gap-gapdoc:
gap-core /usr/share/gap gap-libs:
gosa /usr/share/gosa/plugins gosa:
gxine /usr/lib/xine/plugins libxine2-ffmpeg:
gxine /usr/lib/xine/plugins libxine2-gnome:
gxine /usr/lib/xine/plugins libxine2-misc-plugins:
gxine /usr/lib/xine/plugins libxine2-x:
hicolor-icon-theme /usr/share/icons/hicolor hicolor-icon-theme:
hoogle /usr/lib/ghc-doc/hoogle ghc-doc:
icecc /usr/lib/gcc cpp-4.4:
icecc /usr/lib/gcc cpp-4.6:
icecc /usr/lib/gcc cpp-4.7:
icecc /usr/lib/gcc cpp-4.8:
icecc /usr/lib/gcc cpp-4.9:
icecc /usr/lib/gcc g++-4.4:
icecc /usr/lib/gcc g++-4.6:
icecc /usr/lib/gcc g++-4.7:
icecc /usr/lib/gcc g++-4.8:
icecc /usr/lib/gcc g++-4.9:
icecc /usr/lib/gcc gcc-4.4:
icecc /usr/lib/gcc gcc-4.4-base:
icecc /usr/lib/gcc gcc-4.6:
icecc /usr/lib/gcc gcc-4.6-base:
icecc /usr/lib/gcc gcc-4.7:
icecc /usr/lib/gcc gcc-4.7-base:
icecc /usr/lib/gcc gcc-4.8:
icecc /usr/lib/gcc gcc-4.8-base:
icecc /usr/lib/gcc gcc-4.9:
icecc /usr/lib/gcc gcc-4.9-base:
icecc /usr/lib/gcc libgcc-4.7-dev:
icecc /usr/lib/gcc libgcc-4.8-dev:
icecc /usr/lib/gcc libgcc-4.9-dev:
icecc /usr/lib/gcc libobjc-4.9-dev:
icecc /usr/lib/gcc libstdc++-4.8-dev:
icecc /usr/lib/gcc libstdc++-4.9-dev:
icecc /usr/lib/gcc libstdc++6-4.4-dev:
icecc /usr/lib/gcc libstdc++6-4.6-dev:
icecc /usr/lib/gcc libstdc++6-4.7-dev:
libjs-protoaculous /usr/share/javascript/prototype libjs-prototype:
libjs-protoaculous /usr/share/javascript/scriptaculous libjs-scriptaculous:
libreoffice-common /usr/lib/libreoffice/share/extensions libreoffice-common:
mate-icon-theme /usr/share/icons/mate mate-icon-theme:
mcollective /usr/share/mcollective/plugins mcollective-common:
menu /etc/menu-methods menu:
menu /usr/share/menu menu:
pdl /usr/lib/x86_64-linux-gnu/perl5/5.20/PDL pdl:
pdl /usr/share/perl5/PDL pdl:
pypy /usr/lib/pypy/lib-python pypy-lib:
shared-mime-info /usr/share/mime/packages shared-mime-info:
swi-prolog-nox /usr/lib/swi-prolog/library swi-prolog-nox:
ufw /etc/ufw/applications.d ufw:
vlc-nox /usr/lib/vlc/plugins vlc-nox:
wordpress /usr/share/wordpress/wp-content wordpress:
wordpress /usr/share/wordpress/wp-content wordpress-theme-twentyfourteen:
xfonts-traditional /usr/share/fonts/X11 xfonts-encodings:
xfonts-traditional /usr/share/fonts/X11 xfonts-utils:
yorick-doc /usr/share/yorick-doc yorick-doc:

Reply to: