diff options
author | 2017-06-29 15:13:11 +0300 | |
---|---|---|
committer | 2017-06-29 15:13:11 +0300 | |
commit | aa25e21dda001de7d3d0e1a210303e70c259c029 (patch) | |
tree | e4dd3936099bde2b4108930ace3c411cb82a665d | |
parent | Resolve circular imports (diff) | |
download | pomu-aa25e21dda001de7d3d0e1a210303e70c259c029.tar.gz pomu-aa25e21dda001de7d3d0e1a210303e70c259c029.tar.bz2 pomu-aa25e21dda001de7d3d0e1a210303e70c259c029.zip |
Added README
-rw-r--r-- | README.md | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..af18952 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# Pomu + +##Prerequisites + +pomu requires the following packages to be installed: + +- sys-apps/portage : Portage repository querying and management +- app-portage/repoman : Manifest generation +- dev-python/click : CLI implementation +- dev-python/git-python : Git repository management and initialization + +In addition to the necessary dependencies, pomu requires a git ebuild repository (optionally set up with portage), though it can create a new one as well (with or without setting it up in portage). + +## Usage + +Usage: pomu [OPTIONS] COMMAND [ARGS]... + + A utility to manage portage overlays + +Options: + --no-portage Do not setup the portage repo + --repo-path TEXT Path to the repo directory (used with --no-portage) + --help Show this message and exit. + +Commands: + fetch Fetch a package into a directory + init Initialise pomu for a repository + install + show + status + uninstall + +## Planned functionality + +1) create/use a git repository/directory, in a configurable location (default may be /usr/local/portage), +with an option to set it up as a repo in /etc/portage/repos.conf; + +2) import ebuilds and related files (FILESDIR, eclasses, dependent ebuilds (if required) etc.) in atomic +commits with meaningful descriptions; + +3) import packages from: +* the portage tree +* overlays (either in fs or in remote repositories, including, but not limited to, overlays in the layman +catalog, arbitrary git repos (with proper layout) etc.) +* local/remote text files +* bugzilla tickets (from ebuild/patch attachments, and (optionally) from links in comments (at least (may +be extended) serving text/plain content)) +* github pull requests (may be extended to support repos other than gentoo/gentoo) +* (possibly) some sane pastebin services (like github gists, paste.pound-python.org etc.); + +4) when importing packages: +* (from overlays) detect dependencies/eclasses unique to the overlay (unavailable in parent overlays/main +tree) and (prompt the user to) import them +* (from overlays/portage) detect user changes and merge remote changes hunk by hunk (in a manner +similar to dispatch-conf) +* allow the user to specify package category/name (when importing from files/pastebins/patches, and new +package version +* generate required files (Manifests etc.) + +4) search for packages, interfacing with gpo.zugaina.org; + +5) update ebuilds pulled in from portage/overlays, merging upstream and user changes; + +6) remove packages from the repository (if possible, by simply reverting the relevant commits, unless some +non-leaf packages/eclasses pulled in by the package are required for another one, ergo we should track dependencies). |