Skip to content
This repository has been archived by the owner on May 27, 2024. It is now read-only.

Latest commit

 

History

History
128 lines (84 loc) · 4.6 KB

HOWTO-DEV.md

File metadata and controls

128 lines (84 loc) · 4.6 KB

Description

A quick 'n' dirty HOW-TO for BlackArch Linux developers. It contains the most important and relevant aspects of this project. Any other topics can and will be discussed on the fly. This HOW-TO also contains an on-boarding guideline for new developers.

This document contains a simple lists of information rather than detailed descriptions. Longer text blocks should be avoided except for this description. Further details or any questions can be discussed in Matrix.

The categories are structured to have at least a little bit of an overview.

General information

  • CoC for BlackArch is almost the same like: https://wiki.archlinux.org/index.php/Code_of_conduct

  • Read and refer always to ArchLinux's wiki pages. There is further documentation for each individual tool/file inside the file, any files without documentation should be documented.

  • If you are new try to follow other developers's work as much as possible. Talk to us on Matrix for further details. We've got our own private channels to discuss.

  • Any work is much appreciated. Even if it's a version bump on a package or a typo-fix.

  • Try to automate anything you can and share the tools with us. Now you can help write the script framework with noptrix

Packaging style

  • Use our PKGBUILD templates for creating and releasing new packages in order to keep the same style and consistency.

  • If you are unsure, copy an existing PKGBUILD from a package and use that as a template or ask other developers. Packages are located in the packages directories of the blackarch github repository (the current repository)

Creating packages

The following information was written with the goal of creating high-quality PKGBUILDs and ensure that every package uploaded to the BlackArch Linux repository is really working.

Prerequisites:

Steps:

  • Create the PKGBUILD and build it in the clean chroot environment to ensure that buildtime dependencies aren't missing.

  • If the package was built, install and execute it in the clean chroot environment to ensure that runtime dependencies aren't missing.

  • Install the package in the full existing BlackArch Linux installation to ensure that there aren't conflicting files.

  • Check the syntax to ensure that the code is the most efficient possible and upload the PKGBUILD.

  • For your pull request use the syntax <pkgname>: <initial commit> or <pkgname>: <change done>

  • Add every pkgname you modified to lists/to-release. Don't use `lists/to-release-arm' as it is for internal use only.

ISO

The ISO can be maintained and code can be found in the blackarch-iso repository. Please refer to the README for documentation, further documentation will be provided inside the files

Website

Can be located in the blackarch-website repository. It is currently starting the process of being rebuilt, talk to noptrix and other devs on the Matrix for more info.

On-Boarding for new developers

Following information are immediately needed when you want to join the BlackArch Linux project:

  • Name: Your name will be used on website. Say 'anon' to stay anonym.

  • E-Mail: For the [email protected] mailinglist. You will receive any mails sent to that list.

  • Handle: For references in any BlackArch project and also for Matrix.

  • Twitter: Your twitter name if present. @blackarchlinux will then follow you.

  • Github: Your github Account name with 2-fa enabled. You will get full read-write access to all repositories.

  • Pub-Keys: Your GPG and SSH pubkeys. SSH Key will be used for our shared build-system.

  • Role: The role you want to have and where you will mostly focus on. Roles can be multiple.

You should then continue reading the rest of this document once all information are given and everything is setup. Anything else can be discussed on Matrix.