On 2013-11-07 16:29:22 +0100, Arno Töll wrote: > On 07.11.2013 16:06, Vincent Lefevre wrote: > >> In fact, it's not even a bug since you installed a leaf package > >> directly which is not meant to be used standalone. > > > > You're wrong. Users are not forced to install metapackages. > > I probably did "apt-get install apache2-mpm-itk" to make sure > > that this version of the server was installed (something that > > "apt-get install apache2" doesn't). It you think that apache2 > > must have been installed too, then a "Depends: apache2" must > > have been added (and "Provides: apache2" should probably have > > been removed), or at least a "Recommends: apache2". Note that > > apache2-mpm-itk provided httpd, so that there were no reasons > > at all to install apache2 *explicitly*. > > I did not say, that users are forced to install meta packages, but that > -mpm-* packages existed _only_ to let reverse dependencies depend on > them at Apache 2.2 time, as some modules require a particular MPM to run.
> They are not meant to be installed standalone by users, and are now > fortunately going to disappear. Note that I wanted a particular MPM (that's why I did a "apt-get install apache2-mpm-itk"), but it wasn't documented that apache2 was needed too in practice. This wasn't obvious because apache2 provided nothing else, no other dependencies. A "Depends: apache2" or "Recommends: apache2" could have helped (see below). > In fact, all they do is to change the link pointing to the MPM you > are going to use. However, we cannot just depend on the "apache2" > package as you suggest, because some packages use the binaries only, > without wanting the full stack (configuration files, handling, init > scripts etc.) - e.g. look at gnome-user-share which pulls > apache2.2-bin. But I didn't install apache2.2-bin directly! I installed apache2-mpm-itk, which brings the full stack: Depends: apache2.2-common (= 2.2.22-13), apache2.2-bin (= 2.2.22-13) The 2.2.x apache2 package just had: Depends: apache2-mpm-worker (= 2.2.22-13) | apache2-mpm-prefork (= 2.2.22-13) | apache2-mpm-event (= 2.2.22-13) | apache2-mpm-itk (= 2.2.22-13), apache2.2-common (= 2.2.22-13) so that installing apache2 in addition to apache2-mpm-itk wouldn't have brought additional packages. So, a "Depends: apache2" on apache2-mpm-itk (and the other apache2-mpm-* packages) would have been OK. > > No! Apache was already installed (with httpd provided by > > apache2-mpm-itk, so that this Recommends was satisfied). The > > problem is that apt pulled tntnet *in addition* to Apache. > > Yes. But that's a problem of apt[itude], not of the packaging of Apache > as I said previously. I agree that the main problem is in apt[itude], but knowing that, and the side effects that can really confuse the user[*], it is the responsibility of the packaging of Apache to use a workaround. [*] tntnet installation is more of less hidden by all the messages related to the distribution upgrade. > We ensure that people having apache2-mpm-itk installed get the > appropriate package with the appropriate MPM providing httpd in > Apache 2.4 again. > > If that makes apt think that there is no httpd installed for a transient > moment in time, well, there is not much we could do against other than > working around that limitation (or bug, if you may want to put it that > way) which we will do in future as you suggested. Yes, thanks. > > A Recommends on httpd | apache2 | apache2-mpm-worker | > > apache2-mpm-prefork | apache2-mpm-event | apache2-mpm-itk might > > have solved the problem, but I don't think it is up to mailgraph > > to know the internals of Apache packages. It is the job of Apache > > packages to make sure that the transition is OK. > > Again, we do, unless you use packages in a way they are not meant to > be used. Note the apache2-mpm-itk description: Description-en: multiuser MPM for Apache 2.2 The ITK Multi-Processing Module (MPM) works in about the same way as the classical "prefork" module (that is, without threads), except that it allows you to constrain each individual vhost to a particular system user. This allows you to run several different web sites on a single server without worrying that they will be able to read each others' files. This is a third-party MPM that is not included in the normal Apache httpd. . Please note that this MPM is somewhat less tested than the MPMs that come with Apache itself. It is said nowhere that the user mustn't use "apt-get install apache2-mpm-itk". Even if this were said, this wouldn't be sufficient because not everyone reads the description (I knew that I needed it and assumed that apt-get would do the work, and as Apache was working correctly, I would have never looked further). "Recommends:" is for things like that. > > "Everyone else is supposed to..." without a Depends or Recommends? > > That's insane! > > Well. I gave you the reason why this is problematic. I suppose Gnome > users wouldn't like it if it would pull a web server listening on port > 80 by default - don't you think? Please see above. "apt-get install apache2-mpm-itk" already pulls a web server listening on port 80 by default! There is absolutely nothing wrong with the "Depends:" on apache2-mpm-itk. -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <http://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org