Bug 1010479

Summary: Binary name conflict with python-ase and the_silver_searcher
Product: [Fedora] Fedora Reporter: Henrik Hodne <henrik>
Component: python-aseAssignee: marcindulak <Marcin.Dulak>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: besser82, dridi.boukelmoune, Marcin.Dulak, nakayamakenjiro
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-ase-3.8.1.3440-10.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-07 18:49:50 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:
Bug Depends On:    
Bug Blocks: 1008063    

Description Henrik Hodne 2013-09-20 20:46:28 UTC
I recently added a review request for the_silver_searcher (bug 1008063), and the major problem with the package seems to be that it installs the binary /usr/bin/ag, which conflicts with the python-ase package.

As suggested in the review request for the_silver_searcher, I'd like to ask if it would be possible to change the python-ase binary to, for example, ase-gui (which seems to be what ag is short for in this case). In the_silver_searcher's case, "ag" is referring to the atomic symbol for silver, so it's harder (for me, at least) to come up with a better name for it.

There have already been bugs reported against the_silver_searcher upstream about that name, but they seem unwilling to change the name so I wanted to hear if this had be done for python-ase or if the packager for python-ase would be willing to report this upstream, or if it would be possible to have a different name for the Fedora package.

I'm aware that python-ase has been around for a while, so changing this wouldn't be trivial, but (as discussed in bug 1008063) it may be the best solution for now.

Comment 1 marcindulak 2013-09-21 14:01:56 UTC
python-ase has a branch (https://svn.fysik.dtu.dk/projects/ase/branches/cli/tools/) which uses ase-gui instead of ag, but it may be at least several months before it gets merged to the trunk and a new release of python-ase made.
Note that python-ase' ag is not simply a gui starter - it accepts also command
line arguments and can be used without any gui, e.g.:
https://wiki.fysik.dtu.dk/ase/ase/gui/basics.html#plotting-data-from-the-command-line

The convention for atomic symbols is to capitalize the first letter
http://en.wikipedia.org/wiki/Chemical_symbol so the_silver_searcher could
in the first place use Ag instead of ag.
I see there are several packages that install executables
with capitalized names `LC_ALL=C ls /usr/bin/[[:upper:]]*`.

Due to the fact that the the_silver_searcher is being packaged for Fedora
right now, we could temporarily have Ag as the name for it in Fedora,
and define an alias in /etc/profile.d/ag.*sh (as which does).
It's OK for me the python-ase ag name is overwritten by the_silver_searcher
for these couple of months, as long as we use this bug to document what happens.

After the (hopefully already) next python-ase release the only remaining thing 
to be done will be to restore the ag name and remove /etc/profile.d/ag.*sh,
and close this bug as resolved.

Comment 2 Dridi Boukelmoune 2013-10-15 14:19:56 UTC
Thank you for your feedback, this very helpful :)

(In reply to marcindulak from comment #1)
> python-ase has a branch
> (https://svn.fysik.dtu.dk/projects/ase/branches/cli/tools/) which uses
> ase-gui instead of ag, but it may be at least several months before it gets
> merged to the trunk and a new release of python-ase made.

This is great news, could we get in touch with upstream to ask how much time it should take before it's merged and released ? (an estimation)

> Note that python-ase' ag is not simply a gui starter - it accepts also
> command
> line arguments and can be used without any gui, e.g.:
> https://wiki.fysik.dtu.dk/ase/ase/gui/basics.html#plotting-data-from-the-
> command-line

This is unfortunate for the_silver_searcher, but this is interesting to know.

> The convention for atomic symbols is to capitalize the first letter
> http://en.wikipedia.org/wiki/Chemical_symbol so the_silver_searcher could
> in the first place use Ag instead of ag.
> I see there are several packages that install executables
> with capitalized names `LC_ALL=C ls /usr/bin/[[:upper:]]*`.

Yes but, my canonical example (mercurial) uses hg not because people didn't know mercury's symbol is Hg. Maybe they don't but I guess this is because lowercase hg is more user-friendly on the CLI.

> Due to the fact that the the_silver_searcher is being packaged for Fedora
> right now, we could temporarily have Ag as the name for it in Fedora,
> and define an alias in /etc/profile.d/ag.*sh (as which does).
> It's OK for me the python-ase ag name is overwritten by the_silver_searcher
> for these couple of months, as long as we use this bug to document what
> happens.

That would move the conflict in my opinion, wouldn't it ? If by any chance someone  installed both the_silver_searcher and python-ase, they would get only the_silver_searcher on the command line for both ag and Ag, isn't that bad ?

We would just shift the conflict in a less obvious way. I'd rather go for a firm conflict during installation.

> After the (hopefully already) next python-ase release the only remaining
> thing 
> to be done will be to restore the ag name and remove /etc/profile.d/ag.*sh,
> and close this bug as resolved.

Sounds like a breaking change to me, it'd have to happen between two releases of Fedora, wouldn't it ? This applies for both Ag=>ag and ag=>ase-gui, does it?

Comment 3 marcindulak 2013-10-16 13:13:38 UTC
(In reply to Dridi Boukelmoune from comment #2)
> Thank you for your feedback, this very helpful :)
> 
> (In reply to marcindulak from comment #1)
> > python-ase has a branch
> > (https://svn.fysik.dtu.dk/projects/ase/branches/cli/tools/) which uses
> > ase-gui instead of ag, but it may be at least several months before it gets
> > merged to the trunk and a new release of python-ase made.
> 
> This is great news, could we get in touch with upstream to ask how much time
> it should take before it's merged and released ? (an estimation)

it's already merged, but the current trunk state does not qualify for release.
We don't have planned release schedule, but we have the ag/ase-gui conflict in mind while working. Maybe in a couple of weeks (instead of months)
we may have a new python-ase release.

> 
> > Note that python-ase' ag is not simply a gui starter - it accepts also
> > command
> > line arguments and can be used without any gui, e.g.:
> > https://wiki.fysik.dtu.dk/ase/ase/gui/basics.html#plotting-data-from-the-
> > command-line
> 
> This is unfortunate for the_silver_searcher, but this is interesting to know.
> 
> > The convention for atomic symbols is to capitalize the first letter
> > http://en.wikipedia.org/wiki/Chemical_symbol so the_silver_searcher could
> > in the first place use Ag instead of ag.
> > I see there are several packages that install executables
> > with capitalized names `LC_ALL=C ls /usr/bin/[[:upper:]]*`.
> 
> Yes but, my canonical example (mercurial) uses hg not because people didn't
> know mercury's symbol is Hg. Maybe they don't but I guess this is because
> lowercase hg is more user-friendly on the CLI.
> 
> > Due to the fact that the the_silver_searcher is being packaged for Fedora
> > right now, we could temporarily have Ag as the name for it in Fedora,
> > and define an alias in /etc/profile.d/ag.*sh (as which does).
> > It's OK for me the python-ase ag name is overwritten by the_silver_searcher
> > for these couple of months, as long as we use this bug to document what
> > happens.
> 
> That would move the conflict in my opinion, wouldn't it ? If by any chance
> someone  installed both the_silver_searcher and python-ase, they would get
> only the_silver_searcher on the command line for both ag and Ag, isn't that
> bad ?

yes, i suggested hiding the conflict by using /etc/profile.d,
in case you need to get the_silver_searcher package into official repositories
as soon as possible. The user base of python-ase and the_silver_searcher is rather different, so that would go unnoticed, and we have this bug open.

> 
> We would just shift the conflict in a less obvious way. I'd rather go for a
> firm conflict during installation.

OK, so let's have patience.

> 
> > After the (hopefully already) next python-ase release the only remaining
> > thing 
> > to be done will be to restore the ag name and remove /etc/profile.d/ag.*sh,
> > and close this bug as resolved.
> 
> Sounds like a breaking change to me, it'd have to happen between two
> releases of Fedora, wouldn't it ? This applies for both Ag=>ag and
> ag=>ase-gui, does it?

Comment 4 Fedora Update System 2013-11-27 14:51:11 UTC
python-ase-3.8.1.3440-7.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-7.fc19

Comment 5 Fedora Update System 2013-11-27 14:51:23 UTC
python-ase-3.8.1.3440-7.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-7.el6

Comment 6 Fedora Update System 2013-11-27 14:51:35 UTC
python-ase-3.8.1.3440-7.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-7.fc20

Comment 7 Fedora Update System 2013-11-27 14:51:45 UTC
python-ase-3.8.1.3440-7.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-7.el5

Comment 8 Fedora Update System 2013-11-27 14:51:54 UTC
python-ase-3.8.1.3440-7.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-7.fc18

Comment 9 Fedora Update System 2013-11-27 16:14:30 UTC
Package python-ase-3.8.1.3440-7.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing python-ase-3.8.1.3440-7.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-22286/python-ase-3.8.1.3440-7.fc20
then log in and leave karma (feedback).

Comment 10 Dridi Boukelmoune 2013-11-29 20:28:33 UTC
I'm giving you negative karma, because of small issues in the package. Overall, this update made my week and I was dying to review it :D

Issues:
* the desktop file for ase-gui contains Exec=ag
* build logs and the manifest don't belong in %{_pkgdocdir}, do they ?

As I said, small issues!

Comment 11 Fedora Update System 2013-12-02 12:39:46 UTC
python-ase-3.8.1.3440-8.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-8.fc20

Comment 12 Fedora Update System 2013-12-02 12:39:58 UTC
python-ase-3.8.1.3440-8.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-8.fc18

Comment 13 Fedora Update System 2013-12-02 12:40:09 UTC
python-ase-3.8.1.3440-8.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-8.el6

Comment 14 Fedora Update System 2013-12-02 12:40:22 UTC
python-ase-3.8.1.3440-8.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-8.fc19

Comment 15 marcindulak 2013-12-02 12:42:39 UTC
(In reply to Dridi Boukelmoune from comment #10)
> I'm giving you negative karma, because of small issues in the package.
> Overall, this update made my week and I was dying to review it :D
> 
> Issues:
> * the desktop file for ase-gui contains Exec=ag

fixed now

> * build logs and the manifest don't belong in %{_pkgdocdir}, do they ?

i prefer to keep the build logs there, especially p2testase.log.
MANIFEST.in removed

> 
> As I said, small issues!

no more el5 package. python-ase requires now python >= 2.6

Comment 16 Fedora Update System 2013-12-10 12:28:03 UTC
python-ase-3.8.1.3440-9.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-9.fc18

Comment 17 Fedora Update System 2013-12-10 12:28:16 UTC
python-ase-3.8.1.3440-9.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-9.fc19

Comment 18 Fedora Update System 2013-12-10 12:28:25 UTC
python-ase-3.8.1.3440-9.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-9.el6

Comment 19 Fedora Update System 2013-12-10 12:28:33 UTC
python-ase-3.8.1.3440-9.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-9.fc20

Comment 20 Björn 'besser82' Esser 2013-12-11 18:31:26 UTC
(In reply to marcindulak from comment #15)
> no more el5 package. python-ase requires now python >= 2.6

There is some python26 package in el5 to make a small Python 2.6 stack available.  You will just need some small adaptions in your spec-file to get it working  ;)  A python27 package is in preperation for el5 && el6, if there will be some future updates on ase, which will need Python >= 2.7

Comment 21 marcindulak 2013-12-12 10:14:52 UTC
(In reply to Björn "besser82" Esser from comment #20)
> (In reply to marcindulak from comment #15)
> > no more el5 package. python-ase requires now python >= 2.6
> 
> There is some python26 package in el5 to make a small Python 2.6 stack
> available.  You will just need some small adaptions in your spec-file to get
> it working  ;)  A python27 package is in preperation for el5 && el6, if
> there will be some future updates on ase, which will need Python >= 2.7

i see there is even python26-numpy available, but python-ase in order to be fully functional (GUI) would need also python26-matplotlib, and even worse pygtk2 that may be possibly called python26-pygtk2, python26-gtk2 or py26gtk2 (?).
Are there plans to package also those?

Comment 22 Fedora Update System 2014-01-17 13:55:18 UTC
python-ase-3.8.1.3440-10.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-10.fc19

Comment 23 Fedora Update System 2014-01-17 13:55:49 UTC
python-ase-3.8.1.3440-10.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-10.el6

Comment 24 Fedora Update System 2014-01-17 13:56:10 UTC
python-ase-3.8.1.3440-10.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/python-ase-3.8.1.3440-10.fc20

Comment 25 Fedora Update System 2014-02-07 18:49:50 UTC
python-ase-3.8.1.3440-10.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 26 Fedora Update System 2014-02-08 05:02:03 UTC
python-ase-3.8.1.3440-10.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 27 Fedora Update System 2014-02-08 05:08:29 UTC
python-ase-3.8.1.3440-10.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.