Re: Permanent transition tracker for Perl6 ? (was: Re: Packaging of libraries with unstable ABI (D, Rust, Go, ...))
- Date: Wed, 14 Jun 2017 18:56:11 +0200
- From: Dominique Dumont <dod@xxxxxxxxxx>
- Subject: Re: Permanent transition tracker for Perl6 ? (was: Re: Packaging of libraries with unstable ABI (D, Rust, Go, ...))
Sorry for the long delay
On Tuesday, 30 May 2017 17:37:44 CEST Ian Jackson wrote:
> ~/.perl6 is a particularly annoying place to put this. It defeats
> the usual efforts to move this kind of thing to non-backed up storage,
> or whatever.
> > Unfortunately, these pre-compiled files are obsolete when a new Perl6
> > (rakudo) compiler is released.
> And does it automatically delete them, ever ? If not then surely that
> is a bug.
I tend to agree. As far as I understand, this feature also takes care of Perl6
developers: pre-compiled files can co-exist for several versions of Perl6. This
may be good for development, but is a pain to manage in Debian
> > is letting daemon write its own pre-compiled file a security risk ?
> Possibly, but the cache area should be by uid not by USER.
uh, I fail to see the distinction... AFAIK, there's a 1-to-1 relation between
user and uid. What did I miss ?
> > - pre-compile all module are installation time (like python or emacs). The
> > main issues are: all modules must be re-compiled in the correct order when
> > rakudo is upgraded and how to clean up obsolete pre-compiled files. This
> > requires complex post-install scripts
> Does Perl6 function correctly if these compiled files do not exist,
> and cannot be written ?
I think so. May be Daniel can confirm.
> If so you can do the compilation
> opportunistically. Python seems to take this approach.
You mean at run time when a python script is run ?
If so, how can a script invoked by a user can write a .pyc file owned by root ?
> > The latter is probably the best solution from my point of view.
> > But a permanent tracker has an impact in the buildd: is this solution
> > acceptable ?
> It seems rather poor.
ok. I'll find another solution.
> Can you patch Perl6 to put the precompiled files alongside the
> original source files, the way Python does it ?
I don't think so. A pre-compiled file name is a hash sum made of the file
content, the rakudo version and maybe some other data that I forgot. Relating
a perl6 source to the precompiled file is not easy.
> Then you can reuse
> the techniques used by the Python people, maybe.
I'm thinking about pre-compiling at installation time, keep track of the
written files and remove them at de-installation time. The trick is to take
care of upgrade, both module upgrade and rakudo upgrade...
All the best
https://github.com/dod38fr/ -o- http://search.cpan.org/~ddumont/
http://ddumont.wordpress.com/ -o- irc: dod at irc.debian.org