1. 31 Aug, 2018 2 commits
    • Jérome Perrin's avatar
      component/firefox: use .format string subsitutions · f71c96ad
      Jérome Perrin authored
      so that we don't have to escape % as %%
      f71c96ad
    • Julien Muchembled's avatar
      component/firefox: simplify profile · 654ac2e1
      Julien Muchembled authored
      Major change is that slapos compatible wrapper is no longer installed in
      parts/firefox/firefox-slapos , but directly as "firefox" in the
      buildout:bin-directory of the software profile.
      geckodriver is also in the same buildout:bin-directory.
      This way, softwares using this just need to add
      buildout:bin-directory to $PATH
      
      erp5testnode knows since
      nexedi/erp5@59ee7970
      that it should look for firefox in buildout:bin-directory of the
      installed SR, so we should not need backward compatibility here.
      
      Adjust seleniumrunner and jstestnode for the changes
      
      Also drop unused firefox 45
      
      Jérome changes from original 8cf6908df752b9e7632b2910ffc85027f1f4f22c :
       - name sections [firefox-wrapper] and [firefox] because including the
      version in section name means we have to also update section name when
      we update version. Users have to be careful of installing
      ${firefox-wrapper:} and not ${firefox:}
       - introduce macros for implementation and simple section using the
      macros, to make it easy to had more versions or to increase versions,
      for both firefox and geckodriver. They are slightly different because
      for firefox we need a wrapper, but geckodriver is usable directly.
       - use same version, the "versions up" will be separate commits.
       - now that seleniumrunner and jstestnode are using buildout.hash.cfg,
      md5sums are in separate files.
      Co-authored-by: Jérome Perrin's avatarJérome Perrin <jerome@nexedi.com>
      654ac2e1
  2. 30 Aug, 2018 2 commits
  3. 29 Aug, 2018 10 commits
  4. 28 Aug, 2018 3 commits
  5. 27 Aug, 2018 4 commits
  6. 23 Aug, 2018 1 commit
  7. 22 Aug, 2018 2 commits
  8. 21 Aug, 2018 4 commits
    • Jérome Perrin's avatar
      fixup! component/perl: Infrastructure for CPAN packages in inpendent parts · 235c3bca
      Jérome Perrin authored
      This usage of textwrap.dedent *sometimes* does not work and sometimes
      create files with indentation, so we don't have "#!/bin/sh" as first
      line but "    #!/bin/sh"
      
      Use a "safer" version that should work in all cases.
      235c3bca
    • Jérome Perrin's avatar
      fixup! component/*: use specific perl · 8227e655
      Jérome Perrin authored
      perl path does not need extra /bin
      8227e655
    • Romain Courteaud's avatar
    • Jérome Perrin's avatar
      Use separate part for each perl package · 1171acb4
      Jérome Perrin authored
      Rework perl installation to install each package in a separate directory.
      
      Each package install a `perl` interpreter for each package, which is implemented a shell wrapper setting `$PERL5LIB` with the path of this package and its dependencies.
      
      To install a perl package, use `perl-CPAN-package` macro, like in this example for a fictional `XXX::YYY` package:
      
      ```
      [perl-XXX-YYY]
      <= perl-CPAN-package
      module = XXX/XXX-YYY
      version = 1.2.3
      md5sum = ab68b329da9893e34099c7d8ad5cb9c940cd123
      ```
      
      This will download package from https://www.cpan.org/modules/by-module/XXX/XXX-YYY-1.2.3.tar.gz and install using the usual `perl Makefile.PL && make && make install` sequence.
      
      To install package with dependencies, use the `inc=` argument, like in this example for  another fictional package `XXX::ZZZ` package that would depend on `XXX::YYY` and `XXX::ABC` :
      
      ```
      [perl-XXX-ZZZ]
      <= perl-CPAN-package
      module = XXX/XXX-ZZZ
      version = 1.2.3
      md5sum = 401b30e3b8b5d629635a5c613cdb7919
      
      inc = ${perl-XXX-YYY:site_perl}:${perl-XXX-ABC:site_perl}
      ```
      
      The full list of options is described in the [macro](https://lab.nexedi.com/nexedi/slapos/blob/a5bec95c/component/perl/buildout.cfg#L31-65).
      
      
      That macro creates an interpreter for each package, but sometimes we need to create an interpreter with multiple packages. The `perl-wrapper` macro is available for this. It also accepts a `inc=` argument in the same format. Because this wrapper is implemented using `-I` argument, it is also suitable for scrips running in perl [taint mode](https://perldoc.perl.org/perlsec.html#Taint-mode-and-%40INC), like the w3-validator we are using.
      
      All perl components and perl usages have been updated to this new infrastructure.
      
      Some (apparently) unmaintained components were using an obsolete `slapos.recipe.build:cpan` recipe. They were used only in mioga2 from unstable, so I moved them inline in mioga2 software.
      
      /reviewed-on !341
      1171acb4
  9. 20 Aug, 2018 9 commits
  10. 17 Aug, 2018 3 commits