Bug 965996

Summary: libxslt should be split: xsltproc should have its own package
Product: [Fedora] Fedora Reporter: Yann Droneaud <yann>
Component: libxsltAssignee: Daniel Veillard <veillard>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 19CC: veillard
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-22 11:08:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Yann Droneaud 2013-05-22 09:14:18 UTC
Hi,

To retrieve the xsltproc command, one should install libxslt RPM package,
while running yum install xsltproc seems not natural.

xsltproc should be in a different RPM package with a dependency on libxslt RPM package.

Some others programs/libraries have a dependency on libxslt.so.1 so, xsltproc is installed as part of the dependency while there's not need for it.

Additionnally, libxslt.i686 and libxslt.x86_64 both provide /usr/bin/xsltproc, which might be confusing.

Regards.

Comment 1 Daniel Veillard 2013-05-22 11:08:58 UTC
You are the first one to be confused in 10+ years, sorry I think
making sure the tool is there is important. Also not having to change
all the packages needing xsltproc to a new dependancy is a good reason
to stay with the status quo.

  Sorry, not a bug IMHO, something I decided more than a decade ago !

Daniel

Comment 2 Yann Droneaud 2013-05-22 12:50:47 UTC
Hi,

(In reply to Daniel Veillard from comment #1)
> You are the first one to be confused in 10+ years, sorry I think
> making sure the tool is there is important. Also not having to change
> all the packages needing xsltproc to a new dependancy is a good reason
> to stay with the status quo.
> 
>   Sorry, not a bug IMHO, something I decided more than a decade ago !
> 

That can still be improved.

There's multiple choice:

- add a provide for "xsltproc"
- create a virtual/empty package "xsltproc" which require libxsltproc
- move xsltproc to its own package and make libxslt package require "xsltproc"  (hum I love circular dependency).

Choose the one you like.

Regards.

Comment 3 Daniel Veillard 2013-05-22 17:24:24 UTC
Improved w.r.t. what factor ? 
> - add a provide for "xsltproc"
to which package and why ?

> - create a virtual/empty package "xsltproc" which require libxsltproc
huh ? that brings nothing. BTW there is no libxsltproc

> - move xsltproc to its own package and make libxslt package require "xsltproc"
what are you trying to do except messing things up.

 Sorry, NO.

And the extra space needed don't hold in front of the major inconvenience
of splitting the package !

thinkpad:~ -> size /usr/bin/xsltproc 
   text	   data	    bss	    dec	    hex	filename
  20666	   2968	      0	  23634	   5c52	/usr/bin/xsltproc


  So again No, forget about it !

Daniel

Comment 4 Yann Droneaud 2013-05-23 08:32:27 UTC
Hi,

(In reply to Daniel Veillard from comment #3)
> Improved w.r.t. what factor ? 
> > - add a provide for "xsltproc"
> to which package and why ?
> 

It could be added to libxsltproc so that "yum install xsltproc" works.

> > - create a virtual/empty package "xsltproc" which require libxsltproc
> huh ? that brings nothing. BTW there is no libxsltproc

s/libxsltproc/libxslt/

This virtual/empty package would allow "yum install xsltproc" to work. 

> > - move xsltproc to its own package and make libxslt package require "xsltproc"
> what are you trying to do except messing things up.
> 

Making "yum install xsltproc" work.
Making "yum search xsltproc" work

Regards.

Comment 5 Daniel Veillard 2013-05-23 19:03:24 UTC
>>> - move xsltproc to its own package and make libxslt package require"xsltproc"
>> what are you trying to do except messing things up.
>> 
>
> Making "yum install xsltproc" work.
> Making "yum search xsltproc" work

  Sorry but your scenario is just broken !

# yum install ls
No package ls available.
# yum search ls
 .... tons of stuff irrelevant

# yum whatprovides /usr/bin/ls
coreutils-8.15-10.fc17.x86_64 : A set of basic GNU tools commonly used in shell
                              : scripts
Repo        : @updates
Matched from:
Filename    : /usr/bin/ls
...
# yum whatprovides /usr/bin/xsltproclibxslt-1.1.26-10.fc17.x86_64 : Library providing the Gnome XSLT engine
Repo        : @updates
Matched from:
Filename    : /usr/bin/xsltproc
....

  You need to use yum correctly, but every binary on a system is not
gonna turn into a package explicit provide, precisely because rpm has
file paths support, that unecessary. You can do things like

BuildRequires: /usr/bin/xsltproc

in rpms specs.

Daniel

Comment 6 Daniel Veillard 2013-05-23 19:06:40 UTC
Actually even

yum provides xsltproc

returns the right package...

Daniel

Comment 7 Yann Droneaud 2013-05-27 09:23:38 UTC
Thanks for your comments.

Sure, not all commands should be turned to a "standalone" package.

But as a user, I'm using to do "yum install <something>", if it fail, "yum search <something>" ... but not "yum provides <something>".

Regarding xsltproc tool, I'm now going to compare to other distributions:

- Fedora doesn't have an xsltproc package
- OpenSuse doesn't have an xsltproc package.

while

- Debian/Ubuntu has an xsltproc package
- Mageia/Mandriva has an xsltproc package

So on others distributions, user wanting to use "xsltproc" just have to do

apt-get install xsltproc , urpmi xsltproc.

It's straightforward, meaningful, simple, easier, better.

I'm not going argue more about this minor issue: I've said everything I have in mind, and, ultimately I respect your maintainer work.

Regards.