Re: bioperl executables files and dist-zilla
Carnë Draug <[email protected]>
| Newsgroups | gmane.comp.lang.perl.bio.general |
|---|---|
| Message-ID | <CAPOrs_16ovCqvPZzczo7SV9VYYz7pugTngdACzyEm9VmcP--Vg@mail.gmail.com> |
On 9 January 2015 at 17:12, Fields, Christopher J <[email protected]> wrote: > > On Jan 8, 2015, at 6:04 PM, Carnë Draug <[email protected]> wrote: > >> Hi >> >> when installing new bioperl modules with dist zilla, the executable files >> are not being installed. The reason is that our dist zilla plugin bundle [1] >> is searching for them in the default directory "bin/" while bioperl seems >> to have them in a "scripts/" directory. This is done by the ExecFiles plugin. >> >> I can change this easily or I can just move the binaries to "bin/" (which >> I think is more common). Also, dropping the file extensions would make >> things simpler. >> >> > > I think in bioperl-live much of the script munging during build/install > is handled by the Module::Build sub-class (Bio::Root::Build) but is a bit > of a hack; yeah this needs to be migrated to dzil. Looking at [2] it > appears in the role that the directory is settable via the ‘dir’ attribute; > would this also be settable during configuration? The plugin consuming the > role is Dist::Zilla::Plugin::ExecDir Yes, independently of what we set as default on the PluginBundle, it is still possible to have the values changed on a per distribution basis. Something like: [@BioPerl] -remove = ExecDir [ExecDir] -dir = scripts > Alternatively you could move scripts -> bin and symlink ‘scripts’ to point > to the new location but I’m not sure how well git handles symlniks. IIRC > it sometimes tries to resolve them. I don't think we need to have them symlinked. We can easily set "scripts/" as the default for [ExecDir] on our PluginBundle. But before we change the default, why are we using something which is far less common? Why are we not using "bin/" instead? If we had the bioperl programs in "bin/" rather than "scripts/" we would not have had this problem in the first place. So I'm proposing that as we move modules from bioperl-live into the smaller distributions, we also move them to a "bin/" directory as part of the configuration for dzil (no symlinking required). This may prevent more problems in the future with other tools, by having things where they are most expected to be, and not having to remember they are somewhere else. By the way, I have already done this on the Bio-EUtilities distribution which is where I noticed the problem [1]. > Re: extensions, I wouldn’t have a problem with this except that old > installations of the scripts would still be around, correct? If so, we > would need to add a bit of code that checks for the presence of old > versions and removes/replaces them. Might be more trouble than it’s worth. Isn't the file extension removed during installation of bioperl? I remember that the "bp_" was added automatically, a step which we dropped in favour of simply having the files already with the "bp_". I thought that it was the same with the file extension. Carnë [1] https://github.com/bioperl/Bio-EUtilities/commits/master _______________________________________________ Bioperl-l mailing list [email protected] http://mailman.open-bio.org/mailman/listinfo/bioperl-l