diff options
authorMykyta Holubakha <hilobakho@gmail.com>2017-06-29 15:13:11 +0300
committerMykyta Holubakha <hilobakho@gmail.com>2017-06-29 15:13:11 +0300
commitaa25e21dda001de7d3d0e1a210303e70c259c029 (patch)
parentResolve circular imports (diff)
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
+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
+ --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.
+ 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).