#* = required. [package] name = "packager" #* description = "A package installation tool" #* ## package.version # needs to be an int and be incremented every time # if you use a custom version system and want to use that, you can use the tag system! # the highest package.version on the server will be given the tag "latest" version = 1 # this can automatically be incremented when publishing by running `pkgr publish -i ...` ## package.tags # you can add tags to a package to specify kinds # there are some special tags: # - latest # automatically set on the last published version # previous version will lose this tag # - oldest # assigned to the first version. tags = [ "prod", "pkgr-spec-1" ] ## package.type # Supported types: # - application # this type specifies that this package is an application. # - library # this type specifies that this package is a library. # - meta # this type specifies that this package does not install anything upon the system except for dependencies. type = "application" arch = "x86_64" # this is automatically filled by `pkgr publish ...` ## dependencies # you may use the following syntax # "" or ",,..." [dependencies] #example = { arch = "x86_64", tags = [ "stable" ], version = "v1" } exnmbr2 = "v1,stable" ## fs # specify some directories for ease of use [fs] ## fs.config # specifiy the config path config = "/etc/packager" ## fs.data # specify the data path data = "/var/lib/packager" ## replace "pacakger" with your package name to find the default value. ## 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] build_script = "scripts/build" # relative to pkg install_script = "scripts/install" # relative to pkg [build.dependencies] base = "latest,stable" # selected by default ## ext.* # 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 "ext.*" [ext] ## 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 [ext.bootstrap] ## any non-zero = installed check_installed_commands = [ "sh scripts/check_installed" ] # any non-zero = fail commands = [ "sh scripts/bootstrap/download_latest @version /tmp/pkgr.pkg", "sh scripts/bootstrap/dirty_install /tmp/pkgr.pkg", "sh scripts/check_installed" ]