[Please Cc: me in replies as I'm not on the list] Hi, I don't know if there's any previous work on this, but since I as a sid user often see conflicts in packages, and I've seen those on numerous oldstable->stable upgrades, I thought something could be done about it. Actually, most often oldstable->stable updates seem to me to have been more like iterative processes, rerun dist-upgrade until no errors. So I wrote a script[1] to get a list of packages with identically named files from the apt-file database and to run `apt-get --dry-run install' for each pair of these potentially conflicting packages to see if apt can find a way to install both of them at the same time. Obviously this doesn't take diversions into account, so any results should be regarded as merely suspected missing Conflicts:, not conclusive. However cursory inspection reveals that at least some of these indeed are known bugs already reported in the BTS, so I assume this list could be useful. (Is there something else that could make identically named files in two strongly non-conflicting (i.e. no conflicting dependencies either) packages legitimate?) As an example output, here's a list of pairs of co-installable packages with identically named files from amd64 sid. NOTE: As said above, not all these are bugs, as these include packages with diversions (as in, for example, gcc and pentium-builder, I think). ------------------------------------------------------------ abiword-common abiword-plugins amanda-server cdrw-taper apache2-utils mini-httpd asterisk-sounds-extra asterisk-sounds-main atftpd tftpd-hpa atlas3-test libatlas-test belocs-locales-bin libc6 binutils binutils-multiarch binutils hardening-wrapper broffice.org openoffice.org-base broffice.org openoffice.org-calc broffice.org openoffice.org-common broffice.org openoffice.org-draw broffice.org openoffice.org-impress broffice.org openoffice.org-l10n-af broffice.org openoffice.org-l10n-ar broffice.org openoffice.org-l10n-as-in broffice.org openoffice.org-l10n-be-by broffice.org openoffice.org-l10n-bg broffice.org openoffice.org-l10n-bn broffice.org openoffice.org-l10n-br broffice.org openoffice.org-l10n-bs broffice.org openoffice.org-l10n-ca broffice.org openoffice.org-l10n-cs broffice.org openoffice.org-l10n-cy broffice.org openoffice.org-l10n-da broffice.org openoffice.org-l10n-de broffice.org openoffice.org-l10n-dz broffice.org openoffice.org-l10n-el broffice.org openoffice.org-l10n-en-gb broffice.org openoffice.org-l10n-en-za broffice.org openoffice.org-l10n-eo broffice.org openoffice.org-l10n-es broffice.org openoffice.org-l10n-et broffice.org openoffice.org-l10n-eu broffice.org openoffice.org-l10n-fa broffice.org openoffice.org-l10n-fi broffice.org openoffice.org-l10n-fr broffice.org openoffice.org-l10n-ga broffice.org openoffice.org-l10n-gl broffice.org openoffice.org-l10n-gu-in broffice.org openoffice.org-l10n-he broffice.org openoffice.org-l10n-hi-in broffice.org openoffice.org-l10n-hr broffice.org openoffice.org-l10n-hu broffice.org openoffice.org-l10n-it broffice.org openoffice.org-l10n-ja broffice.org openoffice.org-l10n-ka broffice.org openoffice.org-l10n-km broffice.org openoffice.org-l10n-ko broffice.org openoffice.org-l10n-ku broffice.org openoffice.org-l10n-lo broffice.org openoffice.org-l10n-lt broffice.org openoffice.org-l10n-lv broffice.org openoffice.org-l10n-mk broffice.org openoffice.org-l10n-ml-in broffice.org openoffice.org-l10n-mr-in broffice.org openoffice.org-l10n-nb broffice.org openoffice.org-l10n-ne broffice.org openoffice.org-l10n-nl broffice.org openoffice.org-l10n-nn broffice.org openoffice.org-l10n-nr broffice.org openoffice.org-l10n-ns broffice.org openoffice.org-l10n-or-in broffice.org openoffice.org-l10n-pa-in broffice.org openoffice.org-l10n-pl broffice.org openoffice.org-l10n-pt broffice.org openoffice.org-l10n-pt-br broffice.org openoffice.org-l10n-ro broffice.org openoffice.org-l10n-ru broffice.org openoffice.org-l10n-rw broffice.org openoffice.org-l10n-sk broffice.org openoffice.org-l10n-sl broffice.org openoffice.org-l10n-sr broffice.org openoffice.org-l10n-ss broffice.org openoffice.org-l10n-st broffice.org openoffice.org-l10n-sv broffice.org openoffice.org-l10n-ta-in broffice.org openoffice.org-l10n-te-in broffice.org openoffice.org-l10n-tg broffice.org openoffice.org-l10n-th broffice.org openoffice.org-l10n-tn broffice.org openoffice.org-l10n-tr broffice.org openoffice.org-l10n-ts broffice.org openoffice.org-l10n-uk broffice.org openoffice.org-l10n-uz broffice.org openoffice.org-l10n-ve broffice.org openoffice.org-l10n-vi broffice.org openoffice.org-l10n-xh broffice.org openoffice.org-l10n-zh-cn broffice.org openoffice.org-l10n-zh-tw broffice.org openoffice.org-l10n-zu broffice.org openoffice.org-math broffice.org openoffice.org-writer capi4hylafax hylafax-server cdecl cutils cmap-adobe-cns1 xpdf-chinese-traditional cmap-adobe-gb1 xpdf-chinese-simplified cmap-adobe-japan1 xpdf-japanese collectd collectd-apache collectd collectd-hddtemp collectd collectd-mysql collectd collectd-ping collectd collectd-sensors console-tools open.app cyrus-sasl2-dbg cyrus-sasl2-heimdal-dbg dclock ivtools-bin dpkg-dev dpkg-multicd dvb-utils lineakd dvipsk-ja texlive-base-bin e16-data enlightenment extrema psi3 finger finger-ldap freebsd-manpages linux-manual-2.6.24 freebsd-manpages manpages-dev g++ pentium-builder g++-4.1 hardening-wrapper g++-4.2 hardening-wrapper g++-4.3 hardening-wrapper gcc pentium-builder gcc-4.1 hardening-wrapper gcc-4.2 hardening-wrapper gcc-4.3 hardening-wrapper ghostscript ghostscript-doc gnome-applets-data trashapplet gnu-fdisk util-linux graphicsmagick-libmagick-dev-compat libmagick++9-dev graphicsmagick-libmagick-dev-compat libmagick9-dev hipo nemiver inn2 sm kde-i18n-de trashapplet kde-i18n-fr trashapplet kde-i18n-nl trashapplet kde-i18n-ru trashapplet kdebase-dbg kdebase-runtime-dbg kdelibs5-dev libkjsembed-dev labplot opj2dat liballegro-dev liballegro4.2-dev libao-pulse libao2 libgoogle-perftools0 tau libi2c-dev linux-libc-dev libjfreereport-java libpentaho-reporting-flow-engine-java liblzo-dev liblzo2-dev libmailutils-dev libsieve2-dev libmailutils1 libsieve2-1 libqt0-ruby1.8 libqt4-ruby1.8 libtest-harness-perl perl logcheck-database lpr login manpages-tr login manpages-zh loop-aes-utils mount manpages-tr passwd manpages-zh passwd mutt mutt-patched open.app kbd openoffice.org-common openoffice.org-qa-tools orville-write sysvinit-utils poppler-utils xpdf-reader ptex-bin texlive-font-utils rlinetd update-inetd runit-run sysvinit stardict stardict-gtk unace unace-nonfree vim-runtime vim-tiny xen-ioemu-3.0-unstable xen-utils-common ------------------------------------------------------------ Some things could still be done to make the tool more useful. One thing would be to attempt to actually install the packages in some kind of chroot to see if there really is a conflict and not merely a diversion. Another interesting possibility would be to make it use not only the latest package information, but also information about older packages (e.g. up to the previous stable or so). In my experience many of the actual file conflicts come from some file being moved from one package to another with forgotten Conflicts: header. Of course these are more acceptable in sid or testing. Obviously in these cases it would be most meaningful to only verify the most recent package against all possibly conflicting older packages, since past conflicting packages won't be modified anyway even if a conflict is found. But I don't know if such information for older packages is conveniently available anywhere. Regards, Sami [1] http://www.hut.fi/~sliedes/pkgconflicts/ (Note: I don't recommend trying the script as root, apt wants to write something, the current script handles that as non-root fine)
Attachment:
signature.asc
Description: Digital signature