Page MenuHomeDevCentral

Fetch and extract released PHP source code
ClosedPublic

Authored by dereckson on Oct 16 2018, 23:12.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 4, 09:23
Unknown Object (File)
Thu, Oct 31, 13:45
Unknown Object (File)
Thu, Oct 31, 08:41
Unknown Object (File)
Wed, Oct 30, 03:19
Unknown Object (File)
Sat, Oct 26, 04:21
Unknown Object (File)
Wed, Oct 23, 22:05
Unknown Object (File)
Tue, Oct 22, 19:39
Unknown Object (File)
Tue, Oct 22, 19:39
Subscribers
None

Details

Summary

A PHP custom build starts with some source code.

When the build is for a released version, it's as simple as
decompress an archive. Version and hash in pillar.

As Jinja doesn't support dictionary expansion, the pure
Python state renderer is used here, to see if it's viable
to avoid the proliferation of read-pillar execution modules.

Ref T1469

Test Plan

salt-call --local state.sls roles/webserver-legacy/php-builder

Diff Detail

Repository
rOPS Nasqueron Operations
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dereckson created this revision.

Extract an unique set of versions from pillar

dereckson retitled this revision from Extract PHP source code from releases to Fetch and extract released PHP source code.Oct 17 2018, 11:55

More coherent presentation

Hey, jinja doesn't like multiline

Set in php_realase_versions

Fix Python datastructures

Switch to Python renderer

This revision is now accepted and ready to land.Oct 17 2018, 16:22
$ utils/dump-py-state.py roles/webserver-legacy/php-builder/source.sls
/opt/php:
  file.directory:
  - user: builder
/opt/php/archives:
  file.directory:
  - user: builder
/opt/php/archives/php-5.6.38.tar.bz2:
  file.managed:
  - source: http://fr2.php.net/get/php-5.6.38.tar.bz2/from/this/mirror
  - source_hash: d65b231bbdd63be4439ef5ced965cfd63e62983429dbd4dfcfb49981593ebc03
  - user: builder
/opt/php/php56:
  file.directory:
  - user: builder
php_build_php56:
  cmd.run:
  - name: tar xjf /opt/php/archives/php-5.6.38.tar.bz2 --strip-components=1 -C /opt/php/php56
  - user: builder
  - creates: /opt/php/php56/configure.in
This revision was automatically updated to reflect the committed changes.