2015-04-06 10:38:10 -04:00
|
|
|
|
OPNsense GUI and system management
|
2015-05-31 08:14:46 -04:00
|
|
|
|
==================================
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2015-12-11 08:31:06 -05:00
|
|
|
|
The OPNsense project invites developers to start contributing to
|
2018-11-08 14:52:45 -05:00
|
|
|
|
the code base. For your own purposes or – even better – to join us in
|
2015-05-31 08:14:46 -04:00
|
|
|
|
creating the best open source firewall available.
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2016-04-17 03:01:45 -04:00
|
|
|
|
The build process has been designed to make it easy for anyone to
|
|
|
|
|
|
build and write code. The main outline of the new codebase is
|
|
|
|
|
|
available at:
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2017-09-17 11:36:09 -04:00
|
|
|
|
https://docs.opnsense.org/development/architecture.html
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2015-05-31 08:14:46 -04:00
|
|
|
|
Our aim is to gradually evolve to a new codebase instead of using a
|
|
|
|
|
|
big bang approach into something new.
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2022-11-09 04:51:40 -05:00
|
|
|
|
<a href="https://scan.coverity.com/projects/opnsense-core">
|
|
|
|
|
|
<img alt="Coverity Scan Build Status"
|
|
|
|
|
|
src="https://scan.coverity.com/projects/26974/badge.svg"/>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
2015-05-31 08:14:46 -04:00
|
|
|
|
Build tools
|
|
|
|
|
|
===========
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2015-05-31 08:14:46 -04:00
|
|
|
|
To create working software like OPNsense you need the sources and the
|
|
|
|
|
|
tools to build it. The build tools for OPNsense are freely available.
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2015-05-31 08:14:46 -04:00
|
|
|
|
Notes on how to build OPNsense can be found in the tools repository:
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2015-05-31 08:14:46 -04:00
|
|
|
|
https://github.com/opnsense/tools
|
2015-04-06 10:38:10 -04:00
|
|
|
|
|
2015-05-31 08:14:46 -04:00
|
|
|
|
Contribute
|
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
|
|
|
|
You can contribute to the project in many ways, e.g. testing
|
|
|
|
|
|
functionality, sending in bug reports or creating pull requests
|
|
|
|
|
|
directly via GitHub. Any help is always very welcome!
|
|
|
|
|
|
|
2023-06-07 07:41:10 -04:00
|
|
|
|
You can learn more about contributing on [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
|
|
|
|
|
2015-05-31 08:14:46 -04:00
|
|
|
|
License
|
|
|
|
|
|
=======
|
|
|
|
|
|
|
|
|
|
|
|
OPNsense is and will always be available under the 2-Clause BSD license:
|
|
|
|
|
|
|
2021-03-08 14:04:45 -05:00
|
|
|
|
https://opensource.org/licenses/BSD-2-Clause
|
2015-05-31 08:14:46 -04:00
|
|
|
|
|
|
|
|
|
|
Every contribution made to the project must be licensed under the
|
|
|
|
|
|
same conditions in order to keep OPNsense truly free and accessible
|
|
|
|
|
|
for everybody.
|
2016-04-17 03:01:45 -04:00
|
|
|
|
|
|
|
|
|
|
Makefile targets
|
|
|
|
|
|
================
|
|
|
|
|
|
|
|
|
|
|
|
The repository offers a couple of targets that either tie into
|
|
|
|
|
|
tools.git build processes or are aimed at fast development.
|
|
|
|
|
|
|
|
|
|
|
|
make package
|
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
|
|
A package of the current state of the repository can be created using
|
|
|
|
|
|
this target. It may require several packages to be installed. The
|
|
|
|
|
|
target will try to assist in case of failure, e.g. when a missing file
|
|
|
|
|
|
needs to be fetched from an external location.
|
|
|
|
|
|
|
2016-08-13 08:02:28 -04:00
|
|
|
|
Several OPTIONS exist to customise the package, e.g.:
|
2016-04-17 03:01:45 -04:00
|
|
|
|
|
|
|
|
|
|
* CORE_DEPENDS: a list of required dependencies for the package
|
2016-10-24 11:13:50 -04:00
|
|
|
|
* CORE_DEPENDS_ARCH: a list of special <ARCH>-required packages
|
2021-08-02 15:47:27 -04:00
|
|
|
|
* CORE_ORIGIN: sets a FreeBSD compatible package/ports origin
|
2016-04-17 03:01:45 -04:00
|
|
|
|
* CORE_COMMENT: a short description of the package
|
|
|
|
|
|
* CORE_MAINTAINER: email of the package maintainer
|
|
|
|
|
|
* CORE_WWW: web url of the package
|
|
|
|
|
|
* CORE_NAME: sets a package name
|
|
|
|
|
|
|
|
|
|
|
|
Options are passed in the following form:
|
|
|
|
|
|
|
|
|
|
|
|
# make package CORE_NAME=my_new_name
|
|
|
|
|
|
|
2020-04-15 13:11:59 -04:00
|
|
|
|
In general, options are either set to sane defaults or automatically
|
|
|
|
|
|
detected at runtime.
|
|
|
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
|
make update
|
|
|
|
|
|
-----------
|
|
|
|
|
|
|
|
|
|
|
|
Update will pull the latest commits from the current branch from the
|
|
|
|
|
|
upstream repository.
|
|
|
|
|
|
|
2016-04-17 03:01:45 -04:00
|
|
|
|
make upgrade
|
|
|
|
|
|
------------
|
|
|
|
|
|
|
2018-02-25 05:53:06 -05:00
|
|
|
|
Upgrade will run the package build and replace the currently installed
|
|
|
|
|
|
package in the system.
|
2016-04-17 03:01:45 -04:00
|
|
|
|
|
2018-02-28 14:17:52 -05:00
|
|
|
|
make collect
|
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
|
|
Fetch changes from the running system for all known files.
|
|
|
|
|
|
|
2016-08-13 08:02:28 -04:00
|
|
|
|
make lint
|
|
|
|
|
|
---------
|
2016-04-17 03:01:45 -04:00
|
|
|
|
|
2022-07-18 07:59:03 -04:00
|
|
|
|
Run several syntax checks on the repository. This is recommended
|
2016-08-13 08:02:28 -04:00
|
|
|
|
before issuing a pull request on GitHub.
|
2016-04-17 03:01:45 -04:00
|
|
|
|
|
2016-08-13 08:02:28 -04:00
|
|
|
|
make style
|
2016-04-17 03:01:45 -04:00
|
|
|
|
----------
|
|
|
|
|
|
|
2025-07-30 04:28:01 -04:00
|
|
|
|
Run the PSR12 and PEP8 style checks on MVC PHP code and Python,
|
|
|
|
|
|
respectively.
|
|
|
|
|
|
|
|
|
|
|
|
For easier development you may want to use an OPNsense VM and install
|
|
|
|
|
|
the `os-debug` plugin that will offer the necessary tools.
|
|
|
|
|
|
|
|
|
|
|
|
make sweep
|
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
|
|
|
Run several automatic sanitizers on the code base.
|