<htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"/><title>cdist-hacker(7)</title><linkrel="stylesheet"type="text/css"href="docbook-xsl.css"/><metaname="generator"content="DocBook XSL Stylesheets V1.76.1"/></head><body><divxml:lang="en"class="article"title="cdist-hacker(7)"lang="en"><divclass="titlepage"><div><div><h2class="title"><aid="id522399"></a>cdist-hacker(7)</h2></div><div><divclass="author"><h3class="author"><spanclass="firstname">Nico</span><spanclass="surname">Schottelius</span></h3><codeclass="email"><<aclass="email"href="mailto:nico-cdist--@--schottelius.org">nico-cdist--@--schottelius.org</a>></code></div></div></div><hr/></div><divclass="toc"><p><strong>Table of Contents</strong></p><dl><dt><spanclass="section"><ahref="#_name">1. NAME</a></span></dt><dt><spanclass="section"><ahref="#_welcome">2. WELCOME</a></span></dt><dt><spanclass="section"><ahref="#_understanding_cdist_internals">3. UNDERSTANDING CDIST INTERNALS</a></span></dt><dt><spanclass="section"><ahref="#_coding_conventions_core">4. CODING CONVENTIONS (CORE)</a></span></dt><dt><spanclass="section"><ahref="#_how_to_submit_stuff_for_inclusion_into_upstream_cdist">5. HOW TO SUBMIT STUFF FOR INCLUSION INTO UPSTREAM CDIST</a></span></dt><dt><spanclass="section"><ahref="#_how_to_submit_a_new_type">6. HOW TO SUBMIT A NEW TYPE</a></span></dt><dt><spanclass="section"><ahref="#_see_also">7. SEE ALSO</a></span></dt><dt><spanclass="section"><ahref="#_copying">8. COPYING</a></span></dt></dl></div><divclass="section"title="1.NAME"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="_name"></a>1.NAME</h2></div></div></div><p>cdist-hacker - How to get (stuff) into cdist</p></div><divclass="section"title="2.WELCOME"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="_welcome"></a>2.WELCOME</h2></div></div></div><p>Welcome dear hacker! I invite you to a tour of pointers to
get into the usable configuration mangament system, cdist.</p><p>The first thing to know is probably that cdist is brought to
you by people who care about how code looks like and who think
twice before merging or implementing a feature: Less features
with good usability are far better than the opposite.</p></div><divclass="section"title="3.UNDERSTANDING CDIST INTERNALS"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="_understanding_cdist_internals"></a>3.UNDERSTANDING CDIST INTERNALS</h2></div></div></div><p>IF you are interested in how cdist internally works, you can open
bin/cdist-config and bin/cdist-deploy-to in your favorite editor and
read the scripts bin/cdist-deploy-to calls. The magnificent HACKERS_README
may be of great help as well.</p></div><divclass="section"title="4.CODING CONVENTIONS (CORE)"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="_coding_conventions_core"></a>4.CODING CONVENTIONS (CORE)</h2></div></div></div><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem">
All variables exported by cdist are prefixed with a double underscore (__)
</li><liclass="listitem">
All cdist-internal variables are prefixed with <spanclass="emphasis"><em>_cdist</em></span> and are generally not exported.
</li></ul></div></div><divclass="section"title="5.HOW TO SUBMIT STUFF FOR INCLUSION INTO UPSTREAM CDIST"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="_how_to_submit_stuff_for_inclusion_into_upstream_cdist"></a>5.HOW TO SUBMIT STUFF FOR INCLUSION INTO UPSTREAM CDIST</h2></div></div></div><p>If you did some cool changes to cdist, which you value as a benefit for
everybody using cdist, you’re welcome to propose inclusion into upstream.</p><p>There are though some requirements to ensure your changes don’t break others
work nor kill the authors brain:</p><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem">
Code submission must be done via git
</li><liclass="listitem">
Code to be included should be branched of the upstream "master" branch
</li><liclass="listitem">
Exception: Bugfixes to a version branch
</li><liclass="listitem">
Code submissions must be in your master branch
</li><liclass="listitem">
Exception: If you only want a comment on your code, but not an inclusion.
</li><liclass="listitem">
Do not add conf/manifest/init - This file should only be touched in your
private branch!
</li></ul></div><p>As soon as your work meets these requirements, you can contact me
(IRC, Mailinglist, Phone, RFC 1149) and I’ll check your code before
including it.</p></div><divclass="section"title="6.HOW TO SUBMIT A NEW TYPE"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="_how_to_submit_a_new_type"></a>6.HOW TO SUBMIT A NEW TYPE</h2></div></div></div><p>Submitting a type works as described above, with the additional requirement
that a corresponding manpage named man.text in asciidoc format with
the manpage-name "cdist-type__NAME" is included in the type directory
AND asciidoc is able to compile it.</p></div><divclass="section"title="7.SEE ALSO"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="_see_also"></a>7.SEE ALSO</h2></div></div></div><divclass="itemizedlist"><ulclass="itemizedlist"type="disc"><liclass="listitem">
cdist(7)
</li></ul></div></div><divclass="section"title="8.COPYING"><divclass="titlepage"><div><div><h2class="title"style="clear: both"><aid="_copying"></a>8.COPYING</h2></div></div></div><p>Copyright (C) 2011 Nico Schottelius. Free use of this software is
granted under the terms of the GNU General Public License version 3 (GPLv3).</p></div></div></body></html>