Halyde Documentation

Powerful, modular, universal

User Tools

Site Tools


ag:client_side_functionality

This is an old revision of the document!


Client-side functionality

This is for Argentum 2, which is included with Halyde 3.0.0+. For the original Argentum, see Argentum 1.

This article is about how Argentum keeps track of packages on the client side. For how to use Argentum, see the Argentum manual.

All client-side Argentum package data is stored in the /ag2/pkg folder on the user's machine. Each package gets a JSON file in /ag2/pkg named /ag2/pkg/package-name.json (package-name being the package's name). Said JSON file is structured like this:

{
  "name": "test-package-name",
  "version": "1.2.3",
  "autoInstalled": false,
  "dependencies": [
    "dependency1",
    "dependency2=1.2.3"
  ],
  "conflicts": [
    "conflict1",
    "conflict2"
  ],
  "files": [
    "file1",
    "halyde/apps/file2",
  ],
  "directories": [
    "packageDir",
    "packageDir/something"
  ],
  "config": [
    "/packageDir/something/config.json"
  ]
}
  • name is the package's name;
  • version is set to the package's version;
  • autoInstalled is whether the package was installed as a dependency or not;
  • dependencies is a list of packages the package depends on (optional) (Advanced Versioning Syntax may be used here);
  • conflicts is a list of packages the package conflicts with and cannot be installed alongside (optional) (Advanced Versioning Syntax may be used here);
  • files is a list of files that were downloaded when the package was installed (optional);
  • directories is a list of directories that were created when the package was installed (optional);
  • config is a list of config files for the package which will not be changed upon updating. When removing the package, the user will be asked whether to remove the config files or not.

Note that type is not included here. This is because package groups are not stored on the client side. Instead, when uninstalling a group, the list of packages is fetched from the server.

Argentum 1 used to have functionality where files could get overwritten and the previous files would get stored once that happens. They would then be restored once the package is removed. This functionality was removed in Argentum 2 because it was unnecessary and could cause major conflicts. Thus now, it is advised not to intentionally overwrite files in packages at all.

ag/client_side_functionality.1769012322.txt.gz · Last modified: by 127.0.0.1