To set up your project, create the following file structure:
|- pkgbuild/
|- ebuild/
|- metadata/
|- layout.conf
|- profiles/
|- categories
|- repo_name
|- COPYRIGHT.txt
|- repositories.xml
|- deb/
|- rpm/
|- BUILD/
|- RPMS/
|- SRPMS/
|- SOURCES/
|- SPECS/
|- templates/
|- rpm/
|- deb/
|- ebuild/
|- pkgbuild/
|- pkggen.yaml
For more information on how to set up all files and folders other
than pkggen.yaml, refer to the repository subarticles.
The pkggen.yaml file
This file lists all the metadata that is needed to generate your packages. It looks like this:
github:
generator: "github"
packages:
- name: "untitled-cli-parser"
github:
user: "MadLadSquad"
repo: "UntitledCLIParser"
query: "releases"
artifacts: [ "untitled-cli-parser-{version}.tar.xz" ]
transforms:
- [ "v", "" ]
- name: "untitled-imgui-framework"
github:
user: "MadLadSquad"
repo: "UntitledImGuiFramework"
query: "releases"
artifacts: [ "untitled-imgui-framework-{version}.tar.xz" ]
transforms:
- [ "v", "" ]The root fields(github in this example, but there can be
more than one) are used to list the different generator jobs. Each
generator job uses a generation generator, such as github,
url or a generator that you wrote yourself. Writing your
own generator is covered in later pages.
After defining the generator for the job, you need to provide a
packages array where each entry is an object that contains a
name at the bare minimum. Different generators have their
own data entries. Any other entry that is not name or a
generator a generator entry and is not an object is a custom variable
that can be accessed from templates.
The templates
directory
Coming soon!
- Home
- User guide
- Installation
- How to package
- Setting
up your metadata
- Ebuilds
- PKGBUILDs
- RPMs
- DEBs
- Dependencies
- URL generator
- GitHub generator
- Setting
up your metadata
- How to test
- How to deploy
- Creating a custom generator
- Artifact generators
- Distribution generators
- Repository generators
- Testing generators
- Deployment generators