Package: dpkg Version: 1.10.15 Severity: normal IRC transcript:
02:34PM|<Overfiend> My thinking is this: if package to-be-installed A Conflicts: with package B, why should A need to Replace: B? 02:34PM|<Overfiend> dpkg should ensure that B is removed before unpacking A 02:35PM|<asuffield> one example is that it allows A to pinch config files from B 02:35PM|<asuffield> which can be handy when renaming a package 02:35PM|<Overfiend> but when I pursue that change of reasoning I wonder why we have Replaces: at all 02:35PM|<Overfiend> asuffield: except we DON'T handle "pinching" of conffiles 02:35PM|<Overfiend> dpkg gets badly confused 02:35PM|<Overfiend> witness upgrades from xlibs 4.2.1 to xlibs-data 4.3.0 02:35PM|<Overfiend> you get prompted for every motherfucking conffile 02:36PM|<asuffield> heh 02:36PM|<Overfiend> which is a lot thanks to XKB 02:36PM|<asuffield> well, it was *supposed* to work. I thought. 02:36PM|<Overfiend> well, it don't. :-P 02:37PM|<doogie> Overfiend: when A conflicts with B, dpkg only ensures that B is unconfigured before unpacking A 02:37PM|<Overfiend> doogie: I see. 02:37PM|<doogie> and by unconfigured, I mean it only has config-files on the system 02:37PM|<doogie> which means all it's normal files have been removed. 02:37PM|<Overfiend> doogie: so you would only Conflict: without Replacing: in the odd case....wait... 02:38PM|<Overfiend> so you only really need Replaces: with Conflicts: when you're replacing conffiles? 02:38PM|<doogie> there's a slight difference in what I said and what you said 02:38PM|<doogie> you can't replace conffiles(this is considered a dpkg bug) 02:42PM|<Overfiend> doogie: I am wondering why (and when) it is meaningful to have Replaces: with Conflicts: at all. 02:44PM|<doogie> Overfiend: I don't know 02:44PM|<Overfiend> shit. 02:44PM|<Overfiend> you're the person most familiar with dpkg's internals these days. 02:44PM|<Qerub> Manoj: Don't mind me - I was probably wrong. I'll beep if I find out something concrete. 02:44PM|<Overfiend> this is a really fucking dusty corner, then. 02:44PM|<Manoj> Qerub: oh, there is no harm in asking 02:44PM|<Overfiend> I wonder if we can get away with changing Replaces:'s semantics. Given that they're currently meaningless in this case. 02:44PM|<doogie> no I'm not. 02:45PM|<doogie> the dependency engine isn't something I know. 02:45PM|<Overfiend> I.e., Conflicts+Replaces means "migrating conffile" 02:45PM|<asuffield> Overfiend: Replaces is one of those features which _nobody_ really understands. including iwj. 02:45PM|<Overfiend> doogie: I said what I did because the people (person?) who know more are not really part of the project anymore. 02:45PM|<asuffield> fuck knows what would happen if we tried screwing with it 02:45PM|<Overfiend> Diziet only pokes his head up to complain that too much is being asked of him. 02:46PM|<doogie> culus might. but we all know how active culus is 02:46PM|<Overfiend> well, then, I'm going to file a bug. 02:46PM|<Overfiend> so this doesn't get forgotten about 02:47PM|<doogie> Overfiend: pseudo-tag it well 02:52PM|<Overfiend> doogie: what do you want me to call it? DEP? DEPENDS? DEPENDENCIES? 02:52PM|<doogie> DEP-ENGINE I'd like to propose that Replaces: be used for conffile migration only. Any non-conflicting package that would otherwise use Replaces: should probably be using dpkg-divert instead. -- System Information: Debian Release: testing/unstable Architecture: powerpc Kernel: Linux redwald 2.4.21-powerpc #1 mar jui 8 19:36:37 CEST 2003 ppc Locale: LANG=C, LC_CTYPE=en_US.UTF-8 Versions of packages dpkg depends on: ii dselect 1.10.15 a user tool to manage Debian packa ii libc6 2.3.2-8 GNU C Library: Shared libraries an -- no debconf information

