ubuntu-minimal should support recommends (was: syslog-ng causes ubuntu-minimal to be removed.)

Bug #42555 reported by Eoghan Gaffney on 2006-05-02
36
This bug affects 2 people
Affects Status Importance Assigned to Milestone
syslog-ng (Ubuntu)
Undecided
Unassigned
ubuntu-meta (Ubuntu)
Wishlist
Unassigned
update-manager (Ubuntu)
Wishlist
Unassigned

Bug Description

Trying to install syslog-ng results in ubuntu-base/ubuntu-minimal being removed. ubuntu-base/ubuntu-minimal both seem to depend on sysklogd, instead of the underlying sytem-log-daemon, which is provided by other packages.

Eric Busalacchi (emb) wrote :

This one burned me pretty good because I wasn't paying close attention (oops). All of the central syslog/syslog-ng as well as splunk guides out there have "apt-get install syslog-ng". It seems like dropping ubunti-minimal is new behaviour. As stated it should rely on system-log-deamon and not syslogkd.

Changed in syslog-ng:
status: Unconfirmed → Confirmed
Karim Benbouali (kbenbouali) wrote :

I have the same issue ... Trying installing syslog-ng in Ubuntu 6.06 result in a conflict with "ubuntu-minimal" that depends on "sysklogd" instead of "system-log-daemon". Is someone could update the ubuntu-minimal package ??

Karim Benbouali (kbenbouali) wrote :

ok ... after changing "sysklogd" to "system-log-daemon" in all minimal-* files from the source package and recompiled everything is ok ... i can installl syslog-ng without any conflict :) i don't know how to make a valid patch ... if someone can help me to close this bug ...

Stefan Puiu (stefanpuiuro) wrote :

This is also reported here:

https://launchpad.net/distros/ubuntu/+source/syslog-ng/+bug/62803

I'm not familiar with Ubuntu package internals, but if you give me a more verbose description of required actions I could have a stab at a patch.

After a bit of reading from the "Debian GNU/Linux FAQ" and the "Debian New Maintainer's Guide" I was able to re-build the packages, by downloading the source from packages.ubuntu.com, making the simple substitution suggested above and then building the binary packages. If anyone's interested I can provide details.

Anyway, I've attached a patch between the old source and the new one. The old one was unpacked with:

$ dpkg-source -x ubuntu-meta_1.30.dsc meta-orig

I've bumped the version number; however, if the Ubuntu folks ignore this and make their own 1.31 version release, anybody applying this patch will likely be in a small degree of trouble.

NOTE: I make no guarantees about this patch, I can only verify it works on my Edgy install.

Changed in ubuntu-meta:
status: Unconfirmed → Confirmed
Luca Lesinigo (luckyluke) wrote :

I totally agree with this, and IMHO this thing should receive more attention to be solved as soon as possible. syslogd is old and crappy, I would not use it on any 'production' system. Actually I would make syslog-ng the default, but that's another story.

I hope that ubuntu-minimal be fixed to happily coexist with syslog-ng.

Abraham Smith (adsmith) wrote :

The depency should really be a meta-package, system-log-daemon, instead of something fixed (even syslog-ng). E.g., metalog is another compelling alternative which avoids the horrid logrotate system altogether.

Richard Bailey (rmjb) wrote :

Will this make it into ubuntu before Feisty?

Martin Pitt (pitti) wrote :

This is not the fault of syslog-ng.

Changed in syslog-ng:
status: Confirmed → Rejected
Martin Pitt (pitti) wrote :

The point of ubuntu-desktop (and the like) is precisely to assert a default set of packages which we tested and are officially supported. Thus, ubuntu-minimal is *meant* to be removed if you replace one of its dependencies with an alternative.

If you think that syslog-ng would serve as a better default, this should become a proper specification. Incidentally, there already is one: https://blueprints.launchpad.net/ubuntu/+spec/syslog-improvements, so if you are interested it, please feel invited to subscribe to it and push forward it.

Thank you!

Changed in ubuntu-meta:
status: Confirmed → Rejected
Luca Lesinigo (luckyluke) wrote :

apt says: "This package depends on all of the packages in the Ubuntu minimal system, that is a minimally functional system that can boot and install more packages. It is safe to remove this package if some of the minimal system packages are not desired. However, it is recommended that you keep it installed, because it is used to carry out certain upgrade transitions (such as adding new packages to the system)."

That says ubuntu-minimal is meant to be removed if some part of a minimal system is not desired, not if you want to replace that part with an alternative fullfilling the same purpose.

I think you're right saying it's not syslog-ng's problem. AFAIK, we have two problems with ubuntu-minimal:
- its description does not explain the true purpose of that package (we booted and installed stuff long before having WiFi, so I'm not ever going to understand why wpasupplicant or similar things in its deps are needed to boot or install new packages). But this is definitely the wrong bug to discuss this.

- it gets removed when using syslog-ng instead of syslog, so users loose its quality of bringing in 'upgrade transitions' through deps. And that's precisely the original subject of this bug (even if it's not a bug *in* syslog-ng).

Maybe the "Right Thing" could be to have a package with dependencies for "upgrade transitions", as friendly as possible with any other choice the admin could take (like using an alternative syslogger), and another package to keep an established set of tested packages (and this would get removed when you choose to remove any of those packages to use alternative ones)? But maybe we're a little too late for this in dapper so we'll have to live with what we have.

Just my two cents, and thanks for giving us ubuntu!

Martin Pitt (pitti) wrote :

I see what you mean. An upgrade could examine the dependency differences between the old and new ubuntu-meta packages and do those changes even if they are not installed any more. Reopening as a wishlist bug against update-manager.

Changed in syslog-ng:
importance: Medium → Wishlist
status: Rejected → Confirmed
Michael Vogt (mvo) wrote :

I think a better course of action would be to make syslog a recommends of ubuntu-minimal so that it does not have to be removed.

Changed in ubuntu-meta:
importance: Undecided → Wishlist
status: Rejected → Confirmed
Michael Vogt (mvo) wrote :

<mvo> cjwatson: can we have recommends in ubuntu-minimal too for will that confuse something in the installer? I'm thinking of a fix for bug #42555
<cjwatson> at least not without serious debootstrap testing
<cjwatson> mvo: feel free to remind me after feisty and we can have a look at it

Michael Vogt (mvo) wrote :

I close the update-manager task, IMHO its the wrong place to fix this problem.

Changed in update-manager:
status: Confirmed → Rejected
Michael Vogt (mvo) wrote :

Oh, and a upgrade with the release-upgrader will always ensure that ubuntu-minimal and ubuntu-standard is installed (at least in non-server upgrade mode).

Stefan Puiu (stefanpuiuro) wrote :

Wow, somebody's actually having a look at this bug! I'm amazed!

I agree with Luca and the others who pointed out the upgrade issue. I don't know if any of you guys is aware of the inherent limitations in sysklogd - e.g. the ugly deadlocks one might experience when running BIND compiled from source on a system with sysklogd (or the features other logging packages bring). But I guess this is suitable material for the 'syslog-improvements' spec.

Daniel Holbach (dholbach) wrote :

Unsubscribing Ubuntu Sponsors for main from this bug - there's no patch ready to be reviewed.

metapackages now do support recommends installed by default, which you can then remove without the metapackage being uninstalled.

Changed in ubuntu-meta:
status: Confirmed → Fix Released
pivotter (pivotter) wrote :

The fix isn't working yet, on Feisty I installed syslog-ng causing ubuntu-minmal to be removed, installed ubuntu minimal again, causing that kernel log stopped logging. bum bootup still showed that syslog-ng had to be started after boot.

Upgraded to Gutsy today (fine work, only 5 minor issues) hoping for a fix, installed syslog-ng, well, its still removing ubuntu minimal, but my kernel logging is working again.
and still had to manually disable in bum klogd and sysklogd and enable syslog-ng., which should have been done on install of syslog-ng.

I'm afraid its bye bye for ubuntu-minimal.

Uqbar (uqbar) wrote :

Well, we now have Gutsy and the problem is still here.
Is there any kind of fix?

I understand that with metapackages now supporting recommends installed by default, fixing this bug only implies either changing the dependency from sysklogd to system-log-daemon, and/or moving sysklogd from depends to recommends.

It seems easy to do, is there any reason to delay/not to do this?

Uqbar (uqbar) wrote :

Any news, guys?

Brent Newland (brent-newland) wrote :

Alright, using Hardy and install would only boot to that damn BusyBox, so I came in to the Live CD to install ubuntu-minimal as suggested. klogd and sysklogd won't configure, which won't let ubuntu-minimal configure

root@ubuntu:/# dpkg --configure klogd
dpkg: dependency problems prevent configuration of klogd:
 klogd depends on sysklogd | system-log-daemon; however:
  Package sysklogd is not configured yet.
  Package system-log-daemon is not installed.
  Package sysklogd which provides system-log-daemon is not configured yet.
dpkg: error processing klogd (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 klogd
root@ubuntu:/# dpkg --configure sysklogd
dpkg: dependency problems prevent configuration of sysklogd:
 sysklogd depends on klogd | linux-kernel-log-daemon; however:
  Package klogd is not configured yet.
  Package linux-kernel-log-daemon is not installed.
  Package klogd which provides linux-kernel-log-daemon is not configured yet.
dpkg: error processing sysklogd (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 sysklogd

From what I can tell, klogd needs sysklogd configured to configure, and sysklogd needs klogd configured to configure.

It seems to me that upgrading from a fixed requirement to a meta package for the logging daemon for ubuntu-minimal would fix this problem (I'm sure that klogd could be specified as the default).

"I close the update-manager task, IMHO its the wrong place to fix this problem." -- sounds to me like this IS the place to fix this problem. ubuntu-minimal being hard coded to a problematic program would be a problem inside ubuntu-minimal, not klogd. Although klogd needs fixed.

Brent Newland (brent-newland) wrote :

On further study, it appears that this bug is actually a duplicate of 33394

https://bugs.launchpad.net/ubuntu/+source/ubuntu-meta/+bug/33394
"ubuntu-minimal should depend on system-log-daemon"

Uqbar (uqbar) wrote :

I fear that there is a lot of attention on graphical effects, eye candy, themes and the likes but no attention on very basic issues like this.
There seems to be a simple fix on the package description whose description seems to make a lot of sense.
Nonetheless none with power seems to pay any attention to this kind of things, related to a thing called ubuntu-minimal
My fear is that this will lead Ubuntu to the same point reached by Gentoo: the void.

Hi all,

This patch should work for Hardy and support a seamless upgrade path as well.

From reading #33394, I see that it tries to explain away modifying the metapackage on the grounds that it implies official support for what's listed therein. That sounds suspect, at best. If someone can point me to a public document, created prior to today hopefully, that shows this to be the case, this point will be moot. Support status is implied by which section of the pool a package is in. Furthermore, I'd advocate that the Intrepid Ibex release move toward syslog-ng as the default logging agent; and if that means supporting syslog-ng, so be it. I'd advocate that; it's first-class software. If necessary, I'll start putting some notes in a specification draft.

Further mootification of existing concerns:
1.) This patch does not specifically mention syslog-ng in the metapackage package lists; rather, it works off of the fact that both syslog-ng and sysklogd are part of the system-log-daemon virtual package. This is implementation inspecific, so I have yet to see how confusion will arise given the way that package managers behave. Look for yourself and try it out.

2.) On a more serious note, the existing design makes it difficult and risky to control package lists by means of configuration management software. The reason for this is that apt and dpkg are likely to force the user into an interactive mode whereby using --yes or --force may be insufficient to make it non-interactive. Nobody really should have to use --force in an automated script anyhow, and especially not DPkg::Options::={"--force-all"} to get this resolved. This is a killer for large deployments of Ubuntu.

Also, I really don't want to force the package manager to do something that it doesn't want to do. Imagine --force or --force-all being applied by dpkg or apt to a whole suite of unrelated packages. This could happen if ``apt-get -f install'' or ``dpkg --configure --all'' was needed to be run before-hand. Apt, by means of its implied state resolution behavior could apply forceful behavior wholesale to a bunch of things where it shouldn't, especially if it is called from a CMS like Puppet or CFEngine.

In short, this makes managing packages as such safer because of not using a sledgehammer to do a ball-peen's work.

I'd really like to see this patch incorporated before the Hardy release: It's rather non-invasive. This has been affecting me since Dapper! Maybe we can channel our frustrations at https://blueprints.edge.launchpad.net/ubuntu/+spec/syslog-improvements after the Hardy release.

Cheers,

Matt

agent 8131 (agent-8131) wrote :

I see 2 solutions to this bug which is still present in Hardy beta.

1. Replace the dependencies as has been mentioned above.
OR
2. Change the description of the ubuntu-minimal package to more accurately reflect its role.

I can tell you that I'm running a number of ubuntu servers (with the hope that the OS quality will improve) and none of them have ubuntu-minimal installed.

agent 8131 (agent-8131) on 2008-04-03
Changed in syslog-ng:
status: New → Invalid
agent 8131 (agent-8131) on 2008-04-03
Changed in ubuntu-meta:
status: Fix Released → Confirmed
Colin Watson (cjwatson) wrote :

Matt, this patch won't be accepted because it will break as soon as you run ubuntu-meta's update script again (it is important for us that this work, which means that it is strictly forbidden to patch its generated output directly), and the seed syntax doesn't support alternatives. This isn't as easy to fix as all that.

Furthermore, as previously stated - but I'll restate it here since you expressed doubt - we actually think it's a good thing that ubuntu-minimal should be removed if you deviate from the standard Ubuntu system; it means that we have a much better idea what we're dealing with in support terms, and it means that we can tell people to ensure that ubuntu-minimal (et al) are installed as a baseline for problem resolution. I know that the current situation is controversial in places but it *is* deliberate.

I would like to see the upgrade tools do a better job of handling the case where ubuntu-minimal is missing, and any case where the sort of forceful interactivity you describe is required (aside from three-way merging of configuration files) should be considered as a bug.

So summing up, if we choose to use Ubuntu in our servers we must:

1. Keep using sysklogd, so we're able to use the automatic release upgrade tools
2. Use syslog-ng, remove ubuntu-minimal, and be left without any support regarding release upgrades
  2.1 Reinstall sysklogd before release upgrade, do release upgrade, reinstall syslog-ng (remove ubuntu-minimal) after release upgrade

Is this correct? Anyway, would the release upgrade tool work without ubuntu-minimal present? What would we miss? Just new dependencies added? Or does the upgrade tool do some magic with ubuntu-minimal related packages?

Daniel Hahler (blueyed) wrote :

You can work around this by building your own ubuntu-minimal package (which adds the virtual package as alternative), by changing syslog-ng's source to "Provide: sysklogd" or by not depending on ubuntu-minimal altogether.

There's no problem with removing ubuntu-minimal really (which makes sense anyway, if you do not need e.g. wpasupplicant):
From time to time (e.g. after and before distribution upgrades), just take a look what it would install and see if there's something interesting/required.

I'm adding a less intrusive patch for ubuntu-meta, which does not edit the seed files, but substitutes in the "build" target. I can understand that this does not get applied, but wanted to add it just for reference.

Fixing this is now brainstorm idea 9517 (http://brainstorm.ubuntu.com/idea/9517).

Note: I'm posting this here because it seems like all the good commentary is over here. IMHO, having 42555 be marked a duplicate of 33394, rather than the reverse, could be construed as information hiding - everyone points people to the bug that isn't marked as a duplicate, and that bug only has a few comments and no insightful, technical discussion. It's yet another way of ensuring that this problem gets no priority, despite its need.

Incidentally, I looked at the blueprint linked above, and there does not appear to be anything there yet...

P. Dunbar (vigilcode) wrote :

So if you have a hardy server and want to run rsyslogd-mysql what is the recommended path to get there with this issue?
Should I just manually stop syslogd and compile rsyslog from source till this is resolved?

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers