[Bioperl-l] split of Bio::Root from bioperl-live
Carnë Draug
carandraug+dev at gmail.com
Thu Aug 31 17:09:54 UTC 2017
On 31 August 2017 at 17:35, Fields, Christopher J <cjfields at illinois.edu> wrote:
> On 8/31/17, 7:59 AM, "Bioperl-l on behalf of Carnë Draug" <bioperl-l-bounces+cjfields=illinois.edu at mailman.open-bio.org on behalf of carandraug+dev at gmail.com> wrote:
>
>> Hi
>>
>> Over the years there's been the occasional split of bioperl modules as
>> separate distributions. On github, there's the remains of a Bio-Root
>> which state they are deprecated.
>>
>> I have been doing some work in Debian package and the bio-root
>> distribution would be useful. There's some non bioperl projects that
>> are only dependent on Bio::Root::* modules but because they are part
>> of bioperl, that brings in a whole lot of dependencies.
>>
>> I could prepare a Bio-Root release and sync it with bioperl-live. But
>> I was wondering why the split of bio-root was deprecated in the first
>> place.
>>
>> As a side note, the split of the rest of bioperl would also be useful,
>> it's just that it's the split of bio-root that would be most useful
>> for the packages I have been preparing now.
>>
>> Thank you
>> Carnë
>
> I think the idea was sound in theory, but in practice in caused a
> number of problems with other tool chains that had incorrect
> dependencies.
>
> I had been getting fairly regular emails about this, primarily
> off-list, from developers with distributions not on CPAN or on
> github (not terribly uncommon in our field unfortunately) who would
> test against bioperl-live and have things break because they needed
> a Bio::Root installation, which wasn’t on CPAN (it was on github).
> Also, I found a number of disributions, including a few GMOD tools,
> that had a Bio::Root::Root dependency listed to pull in BioPerl as a
> whole, but the *actual* direct dependency was a specific module or
> interface within Bioperl (say, Bio::DB::SeqFeature or
> Bio::SeqFeatureI).
>
> When the last release (1.7) was being worked on this became more and
> more apparent as a problem, because a new release with a separate
> Bio::Root distribution would break these distributions right off the
> bat, and to fix each of these would require updating all of them to
> have the correct dependencies. It became enough of an impediment to
> an actual 1.7 release that we made a decision to roll this back:
>
> https://github.com/bioperl/bioperl-live/issues/114
>
> It was announced on the mail list here:
>
> https://groups.google.com/d/msg/bioperl-l/fPYyLgN0w2E/GwItrwreAwAJ
>
> I do think a stripped-down bioperl-live is a really good idea but it
> may be best pruning the leaves and not the root, as the vast
> majority of dependencies are for single modules that see infrequent
> use on the edges. So beyond splitting out code that can be
> functionally independent like Bio::FeatureIO etc I could see having
> the less-used SeqIO modules with dependencies go either to
> independent modules on CPAN or to a catch-all ‘bioperl-extras’ or
> somesuch.
>
> chris
If I understood correctly, the issue was that Bio::Root was removed
from the bioperl-live repo before an alternative was available on
CPAN.
I could prepare such Bio::Root distribution and then only remove those
modules from bioperl-live on the day of release. Would that work?
As a side note, the problems with pruning the leaves and not the root
is that no one seems to care about them. This means that no one will
be extracting them out of bioperl into smaller module distributions.
Carnë
More information about the Bioperl-l
mailing list