Reviewed-on: gnutelephony/subdomain#12 Co-authored-by: David Sugar <email@example.com> Co-committed-by: David Sugar <firstname.lastname@example.org>
|1 year ago|
|.gitlab/issue_templates||2 years ago|
|cmake||1 year ago|
|server||1 year ago|
|test||2 years ago|
|.clang-tidy||2 years ago|
|.gitattributes||2 years ago|
|.gitignore||2 years ago|
|.gitlab-ci.yml||2 years ago|
|CHANGELOG.md||1 year ago|
|CMakeLists.txt||1 year ago|
|CONTRIBUTING.md||1 year ago|
|Doxyfile||2 years ago|
|LICENSE.md||2 years ago|
|README.md||1 year ago|
|TODO||2 years ago|
|config.hpp.in||2 years ago|
Subdomain provisions a logical subnet containing IP devices, including computers, SIP phones, etc. Subdomain provides dhcp, dns, bootp, and other provisioning support.
Basic documentation, including an architecture overview, will be added as markdown files. User operation, server admin, and configuration should be similarly added here. An installation guide for various GNU/Linux distributions and BSD systems may also be added. Developer documentation can be generated from source file headers using Doxygen.
A typical "install" target is created to support local installation. This should include an example config file. On openrc systems this may install an init script. A logrotate config can also be added. All running directories that may be required are either made by "install" or created when the service executes. Execution in daemon mode is done by the init script.
When cmake is used to produce a Debug build this instance can be executed directly; no further install is required. The debug build uses the config file found in the test/ directory, and a test/custom.conf file can be added with configuration overrides for local developer testing. The preferred cmake build type for live installation and running of debug builds is RelWithDebugInfo.
A more complete overview of participation will be provided in CONTRIBUTING.md. This project uses cmake, and c++17 for core server development. I use the ctest framework for unit testing and gcovr for coverage reports. Subdomain can be built with gcc or clang and can be tested on just about any posix platform, including bsd systems.
In addition to producing testable debug builds the project can also be built for running unit tests. This is enabled by default for debug builds. To produce coverage reports you can cmake a debug build with -DCOVERAGE_TYPE=gcov set. You can then use the make the "coverage" target and produce coverage reports with gcovr or lcov. The "lint" target will validate code using cppcheck.
Support is offered thru https://git.gnutelephony.org/subdomain/issues. When entering a new support issue, please mark it part of the support project. I also have email@example.com. Coventry packaging build support for some GNU/Linux distributions will be found on https://pkg.gnutelephony.org/subdomain.