2023-07-13 00:11:44 +02:00
|
|
|
[package]
|
|
|
|
name = "packager" #*
|
|
|
|
description = "A package installation tool" #*
|
|
|
|
version = 1 # this can automatically be incremented when publishing by running `pkgr publish -i ...`
|
2023-07-13 16:50:49 +02:00
|
|
|
tags = [ "prod", "pkgr-spec-1" ]
|
2023-07-13 00:11:44 +02:00
|
|
|
type = "application"
|
|
|
|
|
|
|
|
arch = "x86_64" # this is automatically filled by `pkgr publish ...`
|
|
|
|
|
|
|
|
## dependencies
|
|
|
|
# you may use the following syntax
|
|
|
|
# "<version/tag>" or "<version/tag>,<version/tag>,..."
|
|
|
|
[dependencies]
|
|
|
|
|
|
|
|
## bin
|
|
|
|
# Used for systems that don't want to build pkgs.
|
|
|
|
[bin] # binary files root
|
|
|
|
|
|
|
|
## bin.root
|
|
|
|
# ** RELATIVE TO PACKAGE ROOT **
|
|
|
|
# bin.root specifies the root of the installed tree.
|
|
|
|
# anything in here will be overlayed on top of the system.
|
|
|
|
root = "/root" #*
|
|
|
|
|
|
|
|
## bin.checksums
|
|
|
|
# ** KEYS are relative to BIN.ROOT **
|
|
|
|
# ** VALUES are relative to PKG ROOT **
|
|
|
|
# checksums is used to perform checksums before install
|
|
|
|
# values may be paths or a uri. You may include variables.
|
|
|
|
# supported variables:
|
|
|
|
# - @name
|
|
|
|
# - @version
|
|
|
|
# - @display_version
|
|
|
|
[bin.checksums]
|
|
|
|
"/usr/bin/pkgr" = "https://ixvd.net/checksums/packager/@version"
|
|
|
|
|
|
|
|
## build
|
|
|
|
# Scripts will be copied to a custom root.
|
|
|
|
# After the pacakge is built, the install script is ran.
|
|
|
|
# After the install script the build directory will be deleted and an CTREE (changed tree) will be generated.
|
|
|
|
# Then the CTREE will be used to copy the files over.
|
|
|
|
[build]
|
2023-07-13 22:47:09 +02:00
|
|
|
build_script = "scripts/build" # relative to pkg
|
|
|
|
install_script = "scripts/install" # relative to pkg
|
2023-07-13 00:11:44 +02:00
|
|
|
|
|
|
|
[build.dependencies]
|
|
|
|
base = "latest,stable" # selected by default
|
|
|
|
|
|
|
|
## pkgr.*
|
|
|
|
# packager is the official client but you may use other clients supporting the "pkgr v1 spec".
|
|
|
|
# other clients may offer extra functionality this must be put under "pkgr.*"
|
|
|
|
[pkgr]
|
|
|
|
|
|
|
|
## pkgr.bootstrap
|
|
|
|
# This section is used for bootpkg. An edition of packager that bootstraps the full version.
|
|
|
|
# This exists so that packager is easy to install on anything!
|
|
|
|
# and only 1 release channel for pkgr
|
|
|
|
[pkgr.bootstrap]
|
2023-07-13 16:50:49 +02:00
|
|
|
## any non-zero = installed
|
2023-07-13 22:47:09 +02:00
|
|
|
check_installed_commands = [
|
|
|
|
"sh scripts/check_installed"
|
|
|
|
]
|
2023-07-13 00:11:44 +02:00
|
|
|
|
|
|
|
# any non-zero = fail
|
|
|
|
commands = [
|
2023-07-13 22:47:09 +02:00
|
|
|
"sh scripts/bootstrap/download_latest @version /tmp/pkgr.pkg",
|
|
|
|
"sh scripts/bootstrap/dirty_install /tmp/pkgr.pkg",
|
|
|
|
"sh scripts/check_installed"
|
2023-07-13 00:11:44 +02:00
|
|
|
]
|