PkgForge
GithubSoar
  • Orgs
    • PkgForge (Core)
      • About
      • Projects
        • Soarpkgs
        • bincache
        • pkgcache
      • People
    • PkgForge-Community
    • PkgForge-Dev
      • Projects
        • Anylinux-AppImages
      • People
    • PkgForge-Security
      • Projects
        • CertStream
  • Soar
    • Soar (Docs)
    • Comparisons
      • 1. Candidates
      • 2. Dependencies
      • 3. Packages
      • 4. Security
  • Formats
    • Binaries
      • Dynamic
      • Static
        • Build Notes
          • Cargo (Rust)
          • GoLang
          • Make
          • Nim
          • Nix
          • Vlang
          • Zig (Musl)
        • Build Tests
    • Packages
      • Archive
      • AppBundle
      • AppImage
      • FlatImage
      • GameImage (TBD)
      • NixAppImage
      • RunImage
      • Errors & Quirks
        • Fonts
        • Fuse
        • Namespaces
        • Zsync
  • SBUILD
    • Introduction
    • Specification
      • 0.Prerequisite
      • 1.Shebang
      • 2.Pkg
      • 3.Version
      • 4.AppID
      • 5.BuildAsset
      • 6.BuildUtil
      • 7.Category
      • 8.Description
      • 9.Desktop
      • 10.DistroPkg
      • 11.HomePage
      • 12.Icon
      • 13.License
      • 14.Maintainer
      • 15.Note
      • 16.Provides
      • 17.Repology
      • 18.SourceURL
      • 19.Tag
      • 20.x_exec
    • Instructions
      • ENV_VARS (x_exec.run)
      • ENV_VARS (SBUILDER)
      • NEEDED_FILES
      • Examples
  • Repositories
    • soarpkgs
      • Contribution
      • Copy of DMCA | Copyright (Cease & Desist)
      • Differences
      • FAQ
      • Infra
      • Metadata
      • Package-Request
      • Re:Distribution
      • Security
    • bincache
      • Cache
      • Contribution
      • Differences
      • DMCA | Copyright (Cease & Desist)
      • FAQ
      • Infra
      • Metadata
      • Package-Request
      • Security
    • pkgcache
      • Cache
      • Contribution
      • Differences
      • DMCA | Copyright (Cease & Desist)
      • FAQ
      • Infra
      • Metadata
      • Package-Request
      • Security
    • external
      • pkgforge-cargo
      • pkgforge-go
      • cargo-bins
      • AM
      • appimage.github.io
      • AppImageHub
    • Nests
  • Contact
    • Chat
Powered by GitBook
On this page

Was this helpful?

  1. SBUILD
  2. Specification

0.Prerequisite

PreviousSpecificationNext1.Shebang

Last updated 6 months ago

Was this helpful?

We start by learning:

  • Linter|Validator is the CLI/Library that lints & validates a .SBUILD Script.

  • Runner|Interpreter is the CLI/Library that runs the .SBUILD.validated Script.

  • SBUILDER is the CLI/Library that merges the Linter & the Runner into one, and is what soar build uses under the hood.

This is sometimes also referred as Builder/Runner/Interpreter. Don't get too hung up on the names. As a human, you will likely only ever have to interact with the Linter|Validator ,rest is all taken care of Automatically by Soar.

  • ENFORCED means the field is NOT Skippable & MUST Exist

  • NON_ENFORCED means the field is Skippable & NOT Mandatory

  • RECOMMENDED means, it can be skipped, but best to try to include it if possible

  • NOT-RECOMMENDED means, you shouldn't use it as there's a better way, but if you want, you can

  • $SBUILD_OUTDIR is a temporary directory the Interpreter uses to run the .SBUILD Script in. Also referred as $TMPDIR Sometimes.

  • $SBUILD_TMPDIR is a dir inside $SBUILD_OUTDIR (PATH: $SBUILD_OUTDIR/SBUILD_TEMP) that can be used to store NON-NEEDED Files

  • x_exec.pkgver refers to the raw/vanilla shell cmds that are run to get the Version of the Package

  • x_exec.run refers to the raw/vanilla shell cmds that are run to download, build & fetch the Package

It is always RECOMMENDED to check your .SBUILD with yamllint & the with shellcheck

For more Detailed Guide, Follow the Instructions: https://docs.pkgforge.dev/sbuild/instructions

Instructions