Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Why not use XML? I guess there's not enough glory: it already exists and works!

    • The key limiting factor is that whatever we use, we need support in the Perl core.

      • No, we don't. We only need something capable of parsing these meta files before we install non-core modules.

        All the core really needs is a way to bootstrap the process of installing other modules, distributions, or bundles.

        • by Alias (5735) on 2009.03.12 19:23 (#67782) Homepage Journal

          This is a simple dependency chain.

          1. All the core really needs is a way to bootstrap the process of installing other modules, distributions, or bundles.

          Correct. Thus...

          2. To bootstrap the installation of other modules, you need a new enough toolchain.

          3. To be able to get a new enough toolchain, you need configure_requires (that was the entire point of having it)

          4. To determine configure_requires, you need to be able to read META.yml

          Therefore...

          5. You need a way to read META.yml in the core.

          The particular format for the pre-configure script metadata can be anything we like, as long as it isn't a security risk and won't suffer from the halting problem.

          But you still need the parser in the core.

          • You need a way to read META.yml in the core.

            If that were true, no installation of a Perl version which lacks this reader in the core would be able to install Perl modules which require the reader. As that's obviously not the case....

            Alternate solution: make the first thing a pristine, freshly configured, built-from source Perl distribution downloads when you want to install something a single bundle which contains just enough hand-selected code to allow upgrading the installation process. Do this throug

            • If that were true, no installation of a Perl version which lacks this reader in the core would be able to install Perl modules which require the reader.

              This is pretty much exactly what happens when you take a fresh Perl 5.8.8 install and try to install anything that needs Module::Build.

            • I should also note you COULD take the path you suggest.

              But then none of those extra modules you need during FirstTime-time would themselves be allowed to use any new toolchain modules.

              Which is technically a valid solution, but would require everyone involved in the toolchain to agree on a fixed back-compat set of core toolchain modules they would restrict themselves to.

              The alternative (putting it in the core) allows all those modules to be upgraded as well and doesn't create a two-class system.