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.
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.