Bug 341564

Summary: ghostscript: remove hard requirement "hpijs"
Product: [openSUSE] openSUSE 10.3 Reporter: Klaus Singvogel <kssingvo>
Component: PrintingAssignee: Dr. Werner Fink <werner>
Status: RESOLVED FIXED QA Contact: Johannes Meixner <jsmeix>
Severity: Enhancement    
Priority: P5 - None CC: jsmeix
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: openSUSE 10.3   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Klaus Singvogel 2007-11-14 09:21:35 UTC
On my private webserver the package "ghostscript-library" is required by several packages:
transfig, a2ps, xpdf, html2ps

But there will be no printer installed never ever. So I tried to remove all unnecessary packages at installation time: printing systems like CUPS or LPRng, printer drivers, X11 servers, etc.

After manual package selection was done, suddenly package "hplip-hpijs" got selected by YaST through some a requirement. I found out that this requirement comes from package "ghostscript-library" by line "Requires: /usr/bin/hpijs" in specfile.

I'm wondering why is this necessary?

No printer will ever installed at machine, as I don't have physical access to machine (standing in server farm from my service provider). ghostscript (e.g. pdf generation) can even run without this additional plugin.

"rpm -e --nodeps hplip-hpijs" can be used to remove package, but will then cause conflicts at next online_update via YaST or zypper. A reinstallation is necessary then.

I would like to suggest to replace this hard requirement "Requires:" through some soft one, like "Suggests:". So user is able to really install a small systems.
Comment 1 Dr. Werner Fink 2007-11-14 10:51:31 UTC
If a printer is configured which requires /usr/bin/hpijs then the
ghostscript interpreter fails with a missing hpijs binary.

I do not like this idea, what do you think?
Comment 2 Klaus Singvogel 2007-11-14 11:21:10 UTC
I see your reasons, but I think different.

A user has to deselect "hpijs" package actively (!), because a "Suggests:" selects the package at installation time as soon as "ghostscript" gets selected. Only if customer wants to remove package "hpijs" intentionally, he is able to do so, but not automatically. And with "Suggests:" we are able to honor this choice of deselection.

On the other side, if there is a "Requires:" present, the customer gets never any possibility to deselect.

And with "Suggests:" the package gets still selected in a standard system.

The only problem is that "Suggests:" is not 100% error free. We will introduce a small risk that this can cause trouble in the future. But the unexperienced customer has to chose this by himself, and we offer more freedom for the experienced customer.
Comment 3 Dr. Werner Fink 2007-11-14 13:07:40 UTC
done ... how is willingly to work on the incomming bugzillas?
Comment 4 Klaus Singvogel 2007-11-14 13:26:21 UTC
I think Johannes volunteered in the meeting earlier today. :-)

As he is "hpijs" maintainer already, I would suggest to reassign "hpijs" related bugs to him in a first step. :-)
Comment 5 Johannes Meixner 2007-11-16 10:02:58 UTC
Yes, please assign "hpijs" related bugs directly to me.
Comment 6 Johannes Meixner 2007-11-16 11:03:32 UTC
For the log:

The consequences have been:

Ghostscript required hplip-hpijs
hplip-hpijs requires sane-backends (because /usr/bin/hpijs
 is linked with libsane.so via libhpip.so und libhpmud.so)
sane-backends requires stuff like libexif, libgphoto2, libieee1284,...
and so on...
Comment 7 Johannes Meixner 2008-09-16 07:42:39 UTC
Regarding comment #2: "a 'Suggests:' selects the package at
installation time as soon as 'ghostscript' gets selected.":

I wonder if this is really true because according to
http://en.opensuse.org/Software_Management/Dependencies#Weak_dependencies
--------------------------------------------------------------------------
Recommends
A weak Requires. A best-try approach is made to fulfill
Recommends but they are silently dropped if no match is possible.

Suggests
Suggests are just hints for an application and not handled during
dependency resolution.
Think of Amazons Customers who bought this item also bought 
--------------------------------------------------------------------------

At least for me it looks as if only "Recommends: hplip-hpijs"
would let the installer also install it (if possible).