[Debian-med-packaging] Wrapper for spades (Was: spades_3.6.2+dfsg-1_amd64.changes ...)
Sascha Steinbiss
sascha at steinbiss.name
Tue Feb 9 13:13:54 UTC 2016
Hi Andreas,
>>>> Something that caught my eye is that SPades includes a copy of the RSA
>>>> MD5 implementation, which contains an advertising clause which is
>>>> probably not DFSG compliant. It might be possible to patch the code
>>>> similar to [1] (replace with Colin Plumb's free implementation).
>>>> Interesting that other packages retain that code (e.g. [2]).
>>>
>>> I currently can't research the details behind (which I'm not aware of).
>>> Any chance to use Debian packaged code rather than any code copy?
>>
>> Unsure. Other packages also just bundle a copy of this small-ish file
>> and it looks like the SPAdes code has extended it to be more C++-like.
>> I will take a closer look later when I am off work.
>
> Cool, thanks. I'd love if more upstreams would stay away from including
> patched 3rd party software.
True. Will give it a thourough look later. Yesterday I wanted to make
sure that Samtools can migrate to testing because it would also have
been holding up REAPR.
>>> Any opinion about the wrapper issue?
>>
>> I don't feel so strongly but tend to agree with Joey Hess's stance [1]
>> and would consider SPAdes to be an interface here. So I'd propose to
>> move all upstream executables to /usr/lib/spades/bin and symlink both
>> /usr/bin/{dip,tru}?spades and /usr/bin/{dip,tru}?spades.py to their
>> counterparts in /usr/lib/spades/bin. From what I gather from upstream
>> the original 'spades' binary is not meant to be run directly anyway.
>> This could mean having to patch the python wrapper to force the use of
>> the /usr/lib version of the original 'spades' binary.
>
> Installing files to /usr/lib/spades/bin is one part of my suggestion.
> If users are not supposed to call the programms directly we should even
> stay away from linking those binaries that do not provide a direct user
> interface to /usr/bin. That why I was considering the wrapper instead
> who sets the PATH and calls the according *.py files which then can
> find the proper binaries.
Maybe I was unclear as well. What I meant was
/usr/bin/spades -> /usr/lib/spades/bin/spades.py
/usr/bin/spades.py -> /usr/lib/spades/bin/spades.py
/usr/bin/truspades -> /usr/lib/spades/bin/truspades.py
/usr/bin/truspades.py -> /usr/lib/spades/bin/truspades.py
/usr/bin/dipspades -> /usr/lib/spades/bin/dipspades.py
/usr/bin/dipspades.py -> /usr/lib/spades/bin/dipspades.py
The non-interface 'spades' bin would never be symlinked to /usr/bin --
that's what I meant that maybe the python scripts calling it would need
to be patched _not_ to assume it's in the path.
Cheers
Sascha
--
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.
More information about the Debian-med-packaging
mailing list