You are not logged in.
From a user's perspective, I think it would be a lot better if two of k3b's dependencies -- viz. cdrdao and dvd+rw-tools -- were set as mandatory. The reason is that the first is necessary to make k3b able to burn CDs, and the second to burn DVDs. Which I suspect encompass the *vast* majority of usage scenarios today. Or to put this another way, what is k3b's use *without* said optional dependencies?
To make matters worse, if dvd+rw-tools is missing, when launching k3b the user gets a warning saying that growisofs is not installed, and thus DVD burning is disabled -- but it might take the user a while to discover the relevant package. I'm planning on submitting a bug, but lest there are legitimate scenarios where the current setup makes sense, I'd thought to ask here first.
Finally, on an unrelated note, when burning data to a DVD having selected the "verify data" option, the process fails when the verification is about to start (but goes flawlessly until that point). It might be related to this bug, but in my case k3b does *not* crash. Anyone came across the same symptom?
EDIT: It seems there already is a bug in the Arch tracker about the dependencies, but it was closed as a duplicate of another bug, which I think is unrelated to this issue...
Last edited by gauthma (2015-11-11 09:23:53)
Offline
I think it doesn't make sense to put DVD burning support for people whose drivers are not capable of burning DVDs. And perhaps someone only uses the cdparanoia optional dependency for ripping CDs ![]()
There are other packages like this: zathura is a document viewer, yet on its own it is incapable of viewing PDFs - one needs to install one of its backends (poppler or mupdf). This leaves the user a choice, the user knows what's running behind the scenes, and it's not much black magick after all. Or think about the optional dependencies for firefox to make all that media out there behave right.
Also, the user should usually be capable of typing `pacman -Qi package` if (s)he wants to find the package that provides a desired feature. I don't use the k3b, but I'd keep it that way.
Last edited by ayekat (2015-11-11 09:28:00)
Offline
@ayekat: You make some very pertinent comments, but still... I can't shake the feeling that this steers into minimalism just a bit too much. To take the example you mention, zathura, is there any usage scenario for it, without any backends? I think giving the user some sane defaults is not against The Arch Way, but do correct me if I'm wrong :-)
Offline
The sane default is "install what you need". As a compromise, zathura could print a message reminding you to install a document plugin, but pacman already prints the optional dependencies with their descriptions and I would prefer not to see the extra noise added.
If you get that message about growisofs, it's a simple
$ pkgfile growisofs(plus k3b tells you this disables DVD burning and the optdepends tell you dvd+rw-tools is for dvd burning). Arch targets somewhat competent users.
If things can't easily be made runtime optional (so for example you'd have to recompile to add/remove dvd burning support) then it makes sense to consider the "needs of the many" and make the dvd-related packages mandatory (presuming most k3b users burn dvds).
Offline
@Raynman "install what you need" is not a sane default, it is not a default at all. Which I think makes sense when installing an operating system like Arch, but not when installing so-called "productivity" applications. Here sane defaults (not no mention pragmatism) would be to cater to the "needs of the many" -- and afterwords letting the user that wants to do so fiddle with the setup to his heart's content.
To put this another way, I don't think installing an application in a state that will serve no purpose (eg zathura without viewer plugins) can be said to be very pragmatic...
Last edited by gauthma (2015-11-11 10:32:00)
Offline
Arch as a whole is "install what you need", after all.
I admit that for k3b, perhaps adding CD burning support as a hard dependency may make sense (given that it promotes it self as a "CD burning application"). But for zathura, there are multiple backends that make sense - who chooses which one is the "sane default"?
In general, some applications don't seem to make sense on their own, but still they don't force their backends, e.g. libvirt is a frontend for handling VMs - the backends (qemu, virtualbox, xen, ...) are not among libvirt's hard dependencies. There is also atool, which is a frontend to various archiving tools (gzip, xz, zip, rar, ...), yet it doesn't require them.
In this case, k3b is a frontend to various CD/DVD related tools (dvd+rw-tools, cdparanoia, ...), yet it does not force the user to install them.
Offline
I'd tend to agree that many of the optional dependencies could be included. They are tiny in size compared to the package.
Offline