content:en_us:dev_architecture_anatomy_of_an_app

Anatomy of an App

This document provides a technical review of a ClearOS app:

  • Where files are installed
  • Packaging information
  • Naming conventions

Naming Conventions

Every app has a simple basename that is used as a keyword across various systems. For example, the PPTP Server uses the basename pptpd.

SystemExample
Packagingapp-pptpd-6.1.0-1.v6.noarch.rpm
Bug TrackerList of issues
SVN/GITsvn.clearfoundation.com/clearos/webconfig/apps
TranslationsPPTP en français

… and many others.

File and Directory Locations

An app uses the traditional Linux file system layout, so you can find an app installed in the locations defined in the following table.

LocationTypePurpose
/etc/clearos/basenameFileSimple configuration file (optional)
/etc/clearos/basename.dDirectoryConfiglet files (optional)
/usr/clearos/apps/basename/DirectoryCore software, libraries and GUI (required)
/var/clearos/basenameDirectoryState files (optional)

Two Software Packages: Core Libraries and GUI

In many circumstances, a ClearOS app may need to use a library from another app. For example, the PPTP Server requires bits and pieces from the Samba library. For this reason, every app is packaged into two distinct RPMs:

  • app-basename-core: core libraries
  • app-basename: GUI frontend

When the PPTP Server is installed, it will pull in the app-samba-core library, but not the whole Samba GUI frontend. search?q=clearos%2C%20clearos%20content%2C%20dev%2C%20architecture%2C%20maintainer_dloper&btnI=lucky

content/en_us/dev_architecture_anatomy_of_an_app.txt · Last modified: 2015/03/03 18:07 (external edit)