Overview

Request 635280 superseded

- Remove rpsblast from install to avoid file conflicts with "ncbi-blast"
package from "ncbi" spec file

Loading...

Dirk Stoecker's avatar

Sounds not right to me. Shouldn't it either be renamed or added as conflict?


Pierre Bonamy's avatar
author source maintainer

Renaming the binary? That would be very confusing for users, wouldn't it?

The thing is that the same binary is provided from within "ncbi-blast" and "ncbi-blast+". Yet "ncbi-blast" and "ncbi-blast+" do not conflict with each other on anything else than that. NCBI software distribution is a huge mess...

I'm happy to implement a better solution. I'm just not sure renaming the binary or creating a conflict with ncbi-blast are better. Am I missing something?


Dirk Stoecker's avatar

Renaming the binary? That would be very confusing for users, wouldn't it?

Yes, but the are others where this is done, a well-known exmaple is "netcat" and "nc".

Hmm, the "correct way" in this case would be to use the /etc/alternatives method to choose the correct version and install them in different directories or with different name. See e.g. https://build.opensuse.org/package/show/openSUSE:Factory/unzip

Another simpler (not so correct) way may be to rename the file and create a softlink in case ncbi is not installed (i.e. in %post). "%ghost filename" may then result in a cleanup when deinstalling.

ncbi is 6 years old, this package much newer - skipping a file here seems still not right.


Pierre Bonamy's avatar
author source maintainer

Your last point is actually very relevant, we might want to install the binary from blast+ (this package) rather from "old" blast (packaged in "ncbi").

Maybe the best would be to recall this request and resolve the conflict in "old ncbi" instead.

I'll see what I can do with the "softlink" solution you offer, but my OBS skills are still quite basic... Do you mind giving me a hand on this?


Pierre Bonamy's avatar
author source maintainer

Last minute thought: maybe a not-so-confusing solution would be to rename the binary in "ncbi" rpsblast-legacy? That would inform the user than the binary is actually old and a new, preferred binary is available elsewhere (then just a "cnf" would allow the user to find where)


Dirk Stoecker's avatar

Sounds ok to me.

And together with a softlink there is no problem for users:

In %postinstall simply call (assuming install in /usr/bin)

ln -s rpsblast-legacy /usr/bin/rpsblast

During an install the link will be then created when no rpsblast binary exists. Installing ncbi-blast+ will overwrite it.

It's not perfect (no cleanup, no handling when ncbi-blast+ gets uninstalled and so on), but better than nothing :-)

Please test installations of both to verify if it works, maybe I overlook a side effect.


Stanislav Brabec's avatar

If the binaries are functionally equivalent, you can also use update-alternatives. (In all packages that provide the same file.)


Pierre Bonamy's avatar
author source maintainer

Sorry for stalling this, I'm caught up in many other urgent things and don't really have the time to address this properly at the moment... Will do ASAP though, it's on my TODO list (just, well, near the bottom of it).

As for your suggestion @sbrabec, I will have to check whether the binaries are exactly equivalent (I somehow doubt it, but I can be wrong). If they are, how I would use update-alternatives to solve this?



Pierre Bonamy's avatar
author source maintainer

Can somebody have a look here: https://build.opensuse.org/package/show/home:flyos:science/ncbi-blast+ and there: https://build.opensuse.org/package/show/home:flyos:science/ncbi and tell me if my implementation of update-alternatives make sense and should work? I tried to follow the documentation and example of vim, but I'm unsure of the details of how it is working.

Thanks!

Request History
Pierre Bonamy's avatar

flyos created request

- Remove rpsblast from install to avoid file conflicts with "ncbi-blast"
package from "ncbi" spec file


openSUSE Build Service is sponsored by