OwlArch

Software

πŸ”™ Go back home

Contributing to OwlArch Package Repository

Thank you for contributing! Follow these guidelines to maintain package quality and consistency.

Repository Structure

.
β”œβ”€β”€ extra/                      # Package directories
β”‚   β”œβ”€β”€ package-name/
β”‚   β”‚   β”œβ”€β”€ PKGBUILD            # Build recipe
β”‚   β”‚   └── .SRCINFO            # Auto-generated metadata
β”‚   β”‚   └── README.markdown     # Auto-generated metadata
β”œβ”€β”€ pages/                      # Documentation site
└── ...

Creating/Updating Packages

  1. Package Requirements
    • Follow Arch Packaging Standards
    • Use makepkg --printsrcinfo > .SRCINFO to generate metadata
    • Test builds locally with:
      docker run --rm -v $(pwd):/pkg -w /pkg archlinux:latest makepkg -si --noconfirm
      
  2. New Packages
    • Create directory: extra/<package-name>
    • Add PKGBUILD and generate .SRCINFO
    • Verify dependencies exist in official repos or this repository
    • Create the README.markdown with the structure specified below
     ---
     layout: software
     title: Title
     permalink: /title
     ---
    
     [πŸ”™ Go back home](/OwlArchRepo/)
    
     # Title
    
     ## Introduction
     Description
     ## Features
    
     - ...
     - ...
     - ...
    
     ## Installation
    
     1. Open a terminal.
     2. Install ... using the following command:
    
     Β  ```sh
     Β  sudo pacman -S ...
     Β  ```
    
     ### Install verification
    
     ### Uninstall
     ## Usage
    
    
     ## Official documentation & More Info
    
     ## Contributing
    
     ## Support
    
     ## License
    
     <div style="display: flex; justify-content: space-between;">
       <a href="prevtitle">πŸ”™ PrevTitle</a>
       <a href="nexttitle">πŸ”œ NextTitle</a>
     </div>
    
  3. Updates
    • Bump pkgver and pkgrel appropriately
    • Update checksums with updpkgsums
    • Document significant changes in PKGBUILD comments and in the README.markdown

Branching & Pull Requests

  1. Branch Strategy
    • main: Stable packages with automated deployment
    • feature/*: Work-in-progress changes (automatically tested)
  2. PR Checklist
    • Valid PKGBUILD and .SRCINFO
    • Local build test passed
    • Dependencies properly declared
    • Package name follows lowercase-hyphenated format
    • Version update reflected in pkgver/pkgrel

Testing Locally

Simulate CI workflow:

# Build packages
docker run --rm -v $(pwd):/workspace -w /workspace archlinux:latest bash -c "
  pacman -Syu --noconfirm && 
  pacman -S --noconfirm base-devel &&
  makepkg --noextract --noprepare --nocheck --nosign
"

# Verify repository structure
repo-add pkgs/x86_64/OwlArchRepo.db.tar.gz *.pkg.tar.zst

Common Issues

Deployment Process

On main branch push:

  1. Builds all PKGBUILDs in extra/
  2. Generates repository database (OwlArchRepo.db)
  3. Deploys documentation to GitHub Pages
  4. Packages become immediately available via:
    [OwlArchRepo]
    Server = https://leku2020.github.io/OwlArchRepo/pkgs/x86_64
    

Need Help?

Let’s keep the OSINT/malware analysis community tools sharp! πŸ¦‰πŸ”