Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 72005 - Trivial unneccessary dependency: apps-sci/drgeo-0.9.14.ebuild
Summary: Trivial unneccessary dependency: apps-sci/drgeo-0.9.14.ebuild
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-21 18:51 UTC by David Escott
Modified: 2004-11-23 07:50 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Escott 2004-11-21 18:51:12 UTC
In moving from drgeo 0.9.12 to 0.9.14 a dependency for www-client/dillo was added. This is completely unneccessary, any webbrowser is sufficient for browsing the documentation.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Olivier Fisette (RETIRED) gentoo-dev 2004-11-21 19:33:59 UTC
Thanks for reporting. However, I prefer dillo to remain a dependency of drgeo.

Although it is possible to use any browser to read the documentation, the GUI 
offers a help menu which, when using the default configuration, launches the 
dillo browser. If dillo was not installed, the GUI would fail to open the 
documentation, which is unacceptable. The dependency is therefore required. It 
is Gentoo's policy to conform to upstream's default configuration whenever 
possible. In this case, the authors selected dillo, a lightweight gtk-based 
browser, probably to ensure consistency with their gtk-based interface. Users 
of drgeo will likely expect dillo to be used as the documentation browser.

This is not different from having to install a ScrollKeeper browser such as KHelpCenter or Nautilus when installing a KDE or GNOME application. You may still change the browser used to read the documentation in the settings menu. If you absolutely want not to install dillo, just copy the ebuild in a Portage overlay and remove the dependency.
Comment 2 David Escott 2004-11-22 17:19:43 UTC
Ok then let's do like the Macaulay2 ebuild does and add the following to the install section:

cp ${D}/usr/share/drgeo/scm/preferences.scm tmp
if has_version 'kde-base/kdebase' ; then
   einfo "Using konqueror as default help-browser!"
   sed "s:dillo :konqueror:g" < tmp >{D}/usr/share/drgeo/scm/preferences.scm
elif has_version 'net-www/mozilla' ; then
   einfo "Using mozilla as default help-browser!"
   sed "s:dillo :mozilla:g" < tmp > ${D}/usr/share/drgeo/scm/preferences.scm
elif has_version 'net-www/mozilla-firefox' ; then
   einfo "Using mozilla-firefox as default help-browser!"
   sed "s:dillo :firefox:g" < tmp > ${D}/usr/share/drgeo/scm/preferences.scm
elif has_version 'net-www/epiphany' ; then
   einfo "Using epiphany as default help-browser!"
   sed "s:dillo :epiphany:g" < tmp > ${D}/usr/share/drgeo/scm/preferences.scm
fi
rm tmp

If the guy who wrote this liked to use Konqueror would you make KDE a dependency for this?! It's just rather absurd to me, especially given that I already have 7 different webbrowsers on my system and you want me to pull in a 8th in addition to a whole new X11 toolkit (I don't have GTK+-1.*) just so I can not have to worry about his help dialog working out of the box. 
Comment 3 Olivier Fisette (RETIRED) gentoo-dev 2004-11-22 18:35:59 UTC
The code you suggest will please some users, but not all: It assumes Konqueror 
should be used as the default browser as soon as it is installed. It will make 
plain mozilla the default over mozilla-firefox. Why is that? I might have 
Konqueror installed but prefer to use Mozilla. What about users who worked with 
drgeo on other systems and who expect to get the same interface they are used 
to? What if I install drgeo on two computers and get a different "default" 
browser on each though I use the same "USE" flags? Just to avoid dillo? This 
may seem trivial, but it is not if you use drgeo in a teaching environment 
where students are not familiar with Linux (or with computers at all). Advanced 
users can easily avoid installing dillo by using Portage's flexible overlay 
system. Doing so would take less time than finding a (flawed) hack and 
reopening a bug. 

As I said already, it is Gentoo's policy to conform to upstream's decisions 
when it makes sense and to have packages working out of the box (emerge 
<package> should be enough whenever possible). Having help buttons working out 
of the box is mandatory. Many users (myself included) expect such basic 
functions to actually work. Many users (again, myself included) also expect 
software packages to behave the same on different operating systems. Debian 
GNU/Linux has similar policies and requires dillo as a mandatory dependency of 
drgeo.

If the upstream developers wanted to use Konqueror as the default documentation 
browser, they would probably have developed drgeo using the KDE development 
toolkit; I would have added Konqueror as a dependency. (I guess one could try 
to stretch this example by proposing absurd situations such as a team 
developing a package using GTK+ but configuring a KDE browser as the default, 
but there is ample provision in "when it makes sense" to deal with these 
extreme cases. In fact, I had to change the default browser in "app-sci/staden" 
since it is security masked in Portage.)

If this issue is very important to you, then you might want to suggest adding 
"virtual/graphical-browser" to our virtual package system. If other developers 
agree to implement this, I will change dregeo to use it if a certain "USE" flag 
is enabled. (I will not, however, use dirty hacks in the meanwhile if I can 
avoid it. Sorry.)
Comment 4 Olivier Fisette (RETIRED) gentoo-dev 2004-11-23 06:54:14 UTC
Ok, I somewhat changed my mind overnight. I added the local "USE" flag "no-helpbrowser" to the ebuild, so you can avoid pulling in dillo.
Comment 5 Olivier Fisette (RETIRED) gentoo-dev 2004-11-23 06:54:50 UTC
Fixed in CVS.
Comment 6 David Escott 2004-11-23 07:50:58 UTC
Thanks for the use flag it is at least makes it possible to mask gtk+1.* and not break the tree. In the end though I think this is indicative of some more basic problems with Gentoo -- to which I will probably write an open letter to the community over the next few days -- where developers are being too hemmed in by policy. I recognize that having well defined policy can be useful, but I think you also have to consider what is in the best interest of your user. Requiring the user to install a browser which has been in beta for almost 2 years now while mozilla variants are into their second generation of stable is not a decision that RedHat Mandrake SuSe etc. would make. The danger of getting sucked into these rigid policies is that you end up like Debian hamstrung by arguments in your different departments about who is following policy, what licenses are actually open source, and in the end not providing the best experience for your users.

I think for this package you have to consider who is installing and who is using. If the end user is the sys-admin then setting the global preference in /usr/local/drgeo/scm/preferences.scm or using a virtual-browser is fine. On the other hand if there are multiple users then drgeo is already broken because it doesnt recognize any of the standardized ways of setting a prefered browser, and the sys-admin will have to make the best decision he can on behalf of his users. In either case the sys-admin has to make a decision and modify the preferences file. Given that this install can't be ``automagic'' it makes sense to me to install the absolute minimum, set a sensible -- but probably not perfect -- default using the Macaulay2 code, and then print a message to the sys-admin telling them what to do if they don't like the default.