Development Notes
Git Branching Model
Quark-engine source code is available in our official Git repository.
We have 6 branches.
master:
This is the stable and releasing branch.
dev:
This is where we commit our beta version.
When all the features are fully tested, it will be merged to
master
branch.feature:
This is where we develop new features for the project.
Once it’s done, it will be merged to
dev
branch.testing:
This is where we write tests for the codebase and new feature.
When it’s done, it will be merged to
dev
branch.hotfix:
This branch is used to fix bugs.
Will be merged to
dev
andmaster
doc:
This is where we update our documentation.
Just like hotfix branch, will be merged to
dev
andmaster
.
Release Versioning
Our versioning logic is quite simple. We use the year and month of the release
as a version number. v19.10
means we release this version in Oct. 2019.
Ticketing System
To submit reports or feature requests, please use GitHub’s Issue tracking system.
Contribute
To submit your patch, just create a Pull Request from your GitHub fork. If you don’t know how to create a Pull Request take a look to GitHub help.
Packaging
Kali Linux
Steps For Packaging
Quark is available in the Kali Linux repository. So you can install Quark with apt install quark-engine
in Kali Linux. However, you can also create your own Kali package with the steps below.
Step 1: Setup environment for packaging
Install the necessary packages in the latest version of Kali Linux.
sudo apt update && apt-get install git python3 python3-pip \
build-essential debhelper devscripts equivs
Step 2: Download the source code of Quark
Download the source code of Quark to the quark-engine
directory.
git clone https://github.com/quark-engine/quark-engine.git
Enter the quark-engine
directory.
cd quark-engine
Step 3: Update the version information (optional)
You can update the version number and changelog of the package. If you want to update the version number, change Standards-Version
in the debian/control
file. If you want to update the changelog, add the descriptions of new changes at the beginning of the debian/changelog
file following the Debian changelog format.
Step 4: Create the package
Create a package for Kali Linux.
dpkg-buildpackage -us -uc -b
Go to the previous directory.
cd ..
Then, you can see the package named quark-engine_<<version>>.deb
, where <<version>>
is the version number defined in the debian/control
file.
Step 5: Install Quark
Install Quark using the created package.
sudo apt install ./quark-engine_<<version>>.deb
Get The Automatically Created Package
We have automated the above steps with a GitHub CI for convenience. Whenever receiving a pull request or commit, the GitHub CI will create a package automatically. Then, you can get the package with the steps below.
Step 1: Navigate to the result page of the GitHub CI
Click the Actions
tab on the GitHub page of Quark.
Click the Kali Package CI
workflow in the left sidebar.
Step 2: Download the Kali package of the specific PR or commit
Click the pull request or commit you want.
Download the kali-package
artifact in the Artifacts area.
Decompress the downloaded Zip file to get the package.