Skip to content
/ pkgcore Public
forked from pkgcore/pkgcore

a framework for package management

License

Notifications You must be signed in to change notification settings

ulm/pkgcore

 
 

Repository files navigation

pypi test coverage

pkgcore

pkgcore is a framework for package management; via the appropriate class plugins, the design should allow for any underlying repository/config/format to be used; slackware's tgzs being exempted due to lack of any real metadata, and autopackage format being exempted due to the fact they effectively embed the manager in each package (pkgcore does require being able to treat the pkg as data, instead of autopackage's method of handing resolution/all manager ops off to the package script).

Tools

pclean: clean distfiles, binpkgs, and builds dirs

pclonecache: clone a repository cache

pconfig: query configuration info

pebuild: low-level ebuild operations, go through phases manually

pinspect: inspect repository related info

pmaint: repository maintenance (syncing, copying...)

pmerge: dependency resolution, fetching, (un)merging, etc.

pquery: query repository info, revdeps, pkg search, vdb search, etc.

Requirements

At least python version 3.8, and snakeoil — a utility library split out of pkgcore for others to use.

Installing

Installing latest pypi release:

pip install pkgcore

Installing from git:

pip install https://github.com/pkgcore/pkgcore/archive/master.tar.gz

Installing from a tarball:

python setup.py install

Tests

A standalone test runner is integrated in setup.py; to run, just execute:

python setup.py test

In addition, a tox config is provided so the testsuite can be run in a virtualenv setup against all supported python versions. To run tests for all environments just execute tox in the root directory of a repo or unpacked tarball. Otherwise, for a specific python version execute something similar to the following:

tox -e py39

Docs

Documentation is available on Github.

Contact

For bugs and feature requests please create an issue.

About

a framework for package management

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 92.9%
  • Shell 7.0%
  • Makefile 0.1%