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.
System | Example |
---|---|
Packaging | app-pptpd-6.1.0-1.v6.noarch.rpm |
Bug Tracker | List of issues |
SVN/GIT | svn.clearfoundation.com/clearos/webconfig/apps |
Translations | PPTP 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.
Location | Type | Purpose |
---|---|---|
/etc/clearos/basename | File | Simple configuration file (optional) |
/etc/clearos/basename.d | Directory | Configlet files (optional) |
/usr/clearos/apps/basename/ | Directory | Core software, libraries and GUI (required) |
/var/clearos/basename | Directory | State 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.
content/en_us/dev_architecture_anatomy_of_an_app.txt · Last modified: 2015/03/03 11:07 (external edit)