NAME
Setup - Specification for setup module
VERSION
version 1.0.2
SPECIFICATION VERSION
1.0
SPECIFICATION
This is a specification for setup modules. Setup modules are normal Perl modules that live under the Setup::
namespace and contain setup functions. Setup functions are normal Perl subroutines, typically named with setup_
prefix (like setup_file
, setup_unix_user
, etc.) They are typically used for, well, setting up stuffs, like software installation, system setup, or configuration management.
Setup functions must have metadata, as specified in Rinci specification.
Setup functions must support transactions, as described in Rinci::function::Transaction.
Setup functions should also be written with the helper module Perinci::Sub::Gen::Undoable, to make all Setup functions more consistent.
Aside from idempotency, setup functions must also check for acceptable initial condition. There could be various state changes between the time of do and undo action; a file can be deleted or modified by other processes. The undo action must be flexible enough so it can reverse whatever state changes the previous do phase did whenever it can, but not disrupt other processes' changes.
AUTHOR
Steven Haryanto <stevenharyanto@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Steven Haryanto.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
CHANGES
Version 1.0.2 (2012-08-14)
No functional changes. Simplify description. Follow Rinci 1.1.23.
Version 1.0.1 (2012-05-31)
Simplify description, as most functionality is now already described in
more detail by Rinci 1.1.17+ and Riap 1.1.13+'s transaction/undo
protocol.
Version 1.0.0 (2012-03-28)
First release, split from Setup-File.