View on GitHub

apkg

Advanced package manager for LeoConsole

Repositories

Apkg installs packages from so-called repositories. A repository is a collection of packages that belong together (same author, same use case, …). A repository is basically an index.json file with the metadata and a list of package names and their according download links. You can activate/deactivate different repositories in your apkg config as well as running your own repos.

Such an index.json file looks like this:

{
    "indexVersion": 2.0,
    "name": "audio-packages",
    "url": "https://leoconsole-repo.example.com/index.json",
    "project": {
        "description": "packages related to audio and sound",
        "maintainer": "Example Person",
        "email": "example.person@example.com",
        "homepage": "https://example.com/lc-repo.html",
        "bugTracker": "https://example.com/lc-repo/bugs-reports.php"
    },
    "packageList": [
        {
            "name": "lc_player",
            "description": "play audio files",
            "version": "1.0.1",
            "os": "any",
            "lc": ["2.0.0"],
            "depends": [],
            "url": "https://leoconsole-repo.example.com/lc_player-any-1.0.1.lcp"
        },
        {
            "name": "mediainfo",
            "description": "display audio file metadata",
            "version": "0.4.5",
            "os": "win64",
            "lc": ["2.0.0", "2.1.0"],
            "depends": ["external"],
            "url": "https://my-apkg-server.website.com/mediainfo-win64-0.4.5.lcp"
        },
        {
            "name": "mediainfo",
            "description": "display audio file metadata",
            "version": "0.4.5",
            "os": "lnx64",
            "lc": ["2.0.0", "2.1.0"],
            "depends": ["external"],
            "url": "https://my-apkg-server.website.com/mediainfo-lnx64-0.4.5.lcp"
        }
    ]
}

Notes