[Koha-devel] Adopting CPAN and Carton
Julian Maurice
julian.maurice at biblibre.com
Tue Jun 9 16:10:32 CEST 2020
Le 09/06/2020 à 15:47, Tomas Cohen Arazi a écrit :
> I think we should use carton and/or local::lib, and bundle all the
> dependencies on build time.
> Building a Docker image? Bundle all deps.
> Building a Debian package? Bundle all deps (we already need to build
> things for specific perl versions)
> Building a Snap/Flatpack? Bundlfe all deps
Bundle all deps in a Debian package ? It does not seem very
"Debian-friendly" :-/
>
> cpanm means installing globally and is possible, but why not just...
> bundle them.
cpanm can install locally
(https://metacpan.org/pod/distribution/App-cpanminus/bin/cpanm#-L,-local-lib-contained)
>
>
> El mar., 9 jun. 2020 a las 3:47, Julian Maurice
> (<julian.maurice at biblibre.com <mailto:julian.maurice at biblibre.com>>)
> escribió:
>
> I'm all for installing Perl modules directly from CPAN. I'm less sure
> about Carton. Is it really needed ? I believe that `cpanm --installdeps
> .` does the same thing.
>
> Anyway, I think the first step would be to write documentation on
> how to
> use this installation method. Even if not adopted, it can't hurt anyone
> to have an alternate method documented.
> Can you write it ?
>
> Le 09/06/2020 à 01:13, dcook at prosentient.com.au
> <mailto:dcook at prosentient.com.au> a écrit :
> > It would mean that the Koha community would support "CPAN and
> Carton" as an installation method or use it as *the* installation
> method for Koha.
> >
> > David Cook
> > Systems Librarian
> > Prosentient Systems
> > 72/330 Wattle St
> > Ultimo, NSW 2007
> > Australia
> >
> > Office: 02 9212 0899
> > Online: 02 8005 0595
> >
> > -----Original Message-----
> > From: Koha-devel <koha-devel-bounces at lists.koha-community.org
> <mailto:koha-devel-bounces at lists.koha-community.org>> On Behalf Of
> Julian Maurice
> > Sent: Friday, 5 June 2020 5:12 PM
> > To: koha-devel at lists.koha-community.org
> <mailto:koha-devel at lists.koha-community.org>
> > Subject: Re: [Koha-devel] Adopting CPAN and Carton
> >
> > Hi,
> >
> > As you said it is already feasible and very easy to do. So what
> would it mean to "adopt CPAN and Carton" ?
> >
> > Le 05/06/2020 à 08:10, dcook at prosentient.com.au
> <mailto:dcook at prosentient.com.au> a écrit :
> >> Now that I think about it, embedding the Perl modules in the Debian
> >> package could be problematic due to dependencies on C libraries.
> >> (Currently building Text::Bidi on an OpenSUSE system and it's taking
> >> forever.)
> >>
> >> I actually found it pretty challenging to read replies
> interweaved in
> >> emails, so I might not respond to all that.
> >>
> >> But yeah I could see the most likely option being keeping the Debian
> >> packages the way they are and just having an alternative Carton
> style.
> >> All that is needed for it really is changing the PERL5LIB
> >> environmental variable, so it would be easy enough to do.
> >>
> >> David Cook
> >> Systems Librarian
> >> Prosentient Systems
> >> 72/330 Wattle St
> >> Ultimo, NSW 2007
> >> Australia
> >>
> >> Office: 02 9212 0899
> >> Online: 02 8005 0595
> >>
> >> -----Original Message-----
> >> From: Victor Grousset/tuxayo <victor at tuxayo.net
> <mailto:victor at tuxayo.net>>
> >> Sent: Friday, 5 June 2020 3:15 PM
> >> To: dcook at prosentient.com.au <mailto:dcook at prosentient.com.au>;
> 'Koha Devel'
> >> <koha-devel at lists.koha-community.org
> <mailto:koha-devel at lists.koha-community.org>>
> >> Subject: Re: Adopting CPAN and Carton
> >>
> >> Hi o/
> >>
> >> On 20-06-05 02:18, dcook at prosentient.com.au
> <mailto:dcook at prosentient.com.au> wrote:
> >>> What are people’s thoughts on CPAN and Carton (the Perl version of
> >>> Bundler, Composer, NPM, etc)?
> >>
> >> I hope that something like that would be on our reach. And that it
> >> will make the majority of the work done to support other Linux
> >> distributions, which would be amazing!
> >>
> >>> I like the idea as a way of more easily managing Perl dependencies
> >>> regardless of Linux distribution and version; in other words, we
> >>> could provide the same dependencies regardless of being on Debian
> >>> Jessie/Debian Stretch/Debian Buster or Ubuntu or Fedora or RHEL or
> >> OpenSUSE.
> >>>
> >>>
> >>>
> >>> I suppose the difficulty is how we do a community-friendly
> deployment?
> >>> I see two main options:
> >>>
> >>> 1. Have the Debian package run “carton install”
> automatically during
> >>> install/upgrade
> >>> 1. This could be error prone and difficult to support…
> 2. Have
> >>> the Koha Debian Package Manager run “carton install” when
> >>> building the package, and embed the Perl modules in the
> Koha package
> >>> 1. It’s unknown how much this would increase the size of
> the Koha
> >>> package
> >>
> >> Interesting, I hope such an unified way will be possible.
> >> If not, is the following a valid option?
> >> The current way of managing the perl dependencies for Debian
> doesn't change.
> >> And a carton way of managing the perl dependencies will coexist.
> (does
> >> it mean just maintaining the cpanfile? I guess I'm very very wrong
> >> here) And packages for the other distros will use carton.
> >>
> >> It would depend of which is more work:
> >> Integrating and maintaining the use of carton in the Debian packages
> >> Or Maintaining the "full" Debian packages in parallel.
> >>
> >> And also how much is valued the fact that for Debian, the perl deps
> >> comes from the repo? (we could keep the versions in sync with
> Debian,
> >> see [1]) Subparts of this:
> >> - value of Debian patches
> >> - anything else???
> >>
> >>
> >>> I think retaining Debian packages is important, because we have a
> >>> number of non-Perl dependencies, and the Debian packages provide a
> >>> lot of very useful automation.
> >>
> >> Thank for addressing the question of "If we can use Carton, why have
> >> packages at all?"
> >> I trust you and the others for that ^^" I have no idea of whether or
> >> not packages are the best option compared to others. Does anyone
> have
> >> feedback about the handling of applications with a lot of deps in
> >> other languages than Perl? (that have something similar to Carton)
> >>
> >>
> >>
> >>> Personally, I’m moving away from packaging Perl dependencies as
> >>> Debian packages for non-Koha projects, because it makes porting the
> >>> projects to a newer version of the same OS much more difficult.
> >>
> >>> I know using Debian’s Perl packages have a lot of advantages, as
> >>> they’re tested, reviewed, and patched, but I think it might be time
> >>> to consider a change.
> >>
> >> [1]The cpanfile could still evolve in sync with the Debian package
> >> versions of the perl libs.
> >> That doesn't address the point "patched" => are there a lot of
> patched
> >> perl packages in Debian?
> >> i.e. enough so that even getting the same versions (as the one in
> >> Debian stable or oldstable) from CPAN will lead to issues
> compared to
> >> getting them from the Debian packages?
> >>
> >>
> >>
> >> Unrelated idea: if we end up not using the Debian perl packages and
> >> not syncing the versions pulled from CPAN with those in Debian, here
> >> is how we could manage perl deps.
> >> We could have a script that would edit the cpanfile to bump the
> major
> >> version of one package. Or set it to the latest version.
> >> And run the tests. And if the tests are alright, keep the new
> package
> >> version and try updating the next package.
> >> This way (hopefully) most of the update work of perl deps would
> be done.
> >> Edge cases will be dealt with manually.
> >>
> >> Even if we don't directly need it, it could be a nice tool to detect
> >> regressions in our upstream deps way before they fall on us!
> >>
> >> Cheers,
> >>
> >> --
> >> Victor Grousset/tuxayo
> >>
> >>
> >> _______________________________________________
> >> Koha-devel mailing list
> >> Koha-devel at lists.koha-community.org
> <mailto:Koha-devel at lists.koha-community.org>
> >> https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
> >> website : http://www.koha-community.org/ git :
> >> http://git.koha-community.org/ bugs :
> http://bugs.koha-community.org/
> >>
> >
>
> --
> Julian Maurice
> BibLibre
> _______________________________________________
> Koha-devel mailing list
> Koha-devel at lists.koha-community.org
> <mailto:Koha-devel at lists.koha-community.org>
> https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
> website : http://www.koha-community.org/
> git : http://git.koha-community.org/
> bugs : http://bugs.koha-community.org/
>
>
>
> --
> Tomás Cohen Arazi
> Theke Solutions (http://theke.io <http://theke.io/>)
> ✆ +54 9351 3513384
> GPG: B2F3C15F
--
Julian Maurice
BibLibre
More information about the Koha-devel
mailing list