Skip to content
kgal edited this page Apr 21, 2017 · 208 revisions

Protection Profile Development Getting Started

Requirements

  • A git client
  • An XML editor (preferably one that can validate against Relax NG schemas)
  • Optional
    • The make utility
    • The xsltproc XSL Engine
    • The hunspell spellchecker

Starting a New Project From Scratch

Cloning the Skeleton

  1. To make a new protection profile create a new repo on the git server (i.e. github.com), probably through the web interface. Note the value of its git URL which is displayed when you click the Clone or Download button on the upper left. We refer to this value as $NEW_REPO_GIT_URL.

  2. Run the following script (with the appropriate value for $NEW_REPO_GIT_URL).

git clone --bare https://github.com/commoncriteria/pp-template.git
# Make a bare clone of the repository

cd pp-template.git
git push --mirror $NEW_REPO_GIT_URL
# Mirror-push to the new repository

cd ..
rm -rf pp-template.git
# Remove our temporary local repository
  1. Do a full clone of your new project

  2. Rename the input file, currently named, input/pp-template.xml to the name of the project with xml added to it; for example, operatingsystem and application have operatingsystem.xml and application.xml input files respectively. If something was the project name it would be,

git mv input/pp-template.xml input/something.xml

Tweaking Make values

Editing

  1. And start editing. The template project contains some boilerplate text. Besides adding the content, several values that are project specific are called out with the QQQQ character sequence.

Common Make Targets

  • empty : Builds all HTML documents
  • clean : Deletes all HTML documents
  • spellcheck : Runs hunspell spellchecker
  • git-safe-push : Pulls changes from the master copy (github). Builds document and if successful pushes your changes to master.

Examples

If you get into trouble, it might be helpful to view other examples such as:

References

Clone this wiki locally