aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHummer12007 <hilobakho@gmail.com>2017-08-28 15:00:00 +0300
committerGitHub <noreply@github.com>2017-08-28 15:00:00 +0300
commitb3cb9af5815d69b7f0dea6e41bfd0b850a794ed5 (patch)
tree1dede82007ba7da3bfd691304d0e96c20e78842a
parentMultiple fixes in: (diff)
downloadpomu-b3cb9af5815d69b7f0dea6e41bfd0b850a794ed5.tar.gz
pomu-b3cb9af5815d69b7f0dea6e41bfd0b850a794ed5.tar.bz2
pomu-b3cb9af5815d69b7f0dea6e41bfd0b850a794ed5.zip
Updated README.md
-rw-r--r--README.md78
1 files changed, 51 insertions, 27 deletions
diff --git a/README.md b/README.md
index af18952..fd2667b 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,8 @@ pomu requires the following packages to be installed:
- app-portage/repoman : Manifest generation
- dev-python/click : CLI implementation
- dev-python/git-python : Git repository management and initialization
+- dev-python/pbraw : A library to fetch plaintexts from pastebins
+- dev-python/curtsies : Curse-like terminal wrapper, used for TUIs (both fullscreen and inline)
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).
@@ -15,51 +17,73 @@ In addition to the necessary dependencies, pomu requires a git ebuild repository
Usage: pomu [OPTIONS] COMMAND [ARGS]...
- A utility to manage portage overlays
+ A utility to import and manage ebuilds 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.
+ -h, --help Show this message and exit.
Commands:
- fetch Fetch a package into a directory
- init Initialise pomu for a repository
- install
- show
- status
- uninstall
+ commit Commit user changes
+ fetch Fetch a package into a directory (or display...
+ import Import a package into a repository
+ init Initialise a pomu repository
+ patch Patch an existing package
+ search Search gpo.zugaina.org
+ show Display installed package info
+ status Display pomu status
+ uninstall Uninstall a package
+
+## Done work (for GSOC)
+
+During the summer coding period the following projects were implemented (from scratch):
+
+- The `pomu` utility (in this repository)
+- The `pbraw` library (and utility) to fetch plaintexts from arbitrary pastebin services (see https://github.com/Hummer12007/pbraw)
## Planned functionality
-1) create/use a git repository/directory, in a configurable location (default may be /usr/local/portage),
+- [x] 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
+- [ ] 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
+ - [x] ebuilds
+ - [ ] FILESDIR (imports all the files, relevant import is WIP)
+ - [ ] dependent ebuilds
+ - [x] atomic commits
+ - [x] commit message generation
+
+- [ ] import packages from:
+ - [x] the portage tree (repositories set up in portage)
+ - [x] 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
+ - [x] local/remote text files
+ - [x] (possibly) some sane pastebin services (like github gists, paste.pound-python.org etc.);
+ - [x] 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.);
+ - [ ] github pull requests (may be extended to support repos other than gentoo/gentoo) (backend is practically done, only thing left's to hook it up to GH, so 70% done)
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
+ - [ ] (from overlays) detect dependencies/eclasses unique to the overlay (unavailable in parent overlays/main
+tree) and (prompt the user to) import them (WIP)
+ - [x] (from overlays/portage) detect user changes and merge remote changes hunk by hunk (in a manner
+similar to dispatch-conf) (not tested enough)
+ - [x] allow the user to specify package category/name (when importing from files/pastebins/patches, and new
package version
-* generate required files (Manifests etc.)
+ - [x] generate required files (Manifests etc.)
-4) search for packages, interfacing with gpo.zugaina.org;
+- [x] search for packages, interfacing with gpo.zugaina.org;
-5) update ebuilds pulled in from portage/overlays, merging upstream and user changes;
+- [ ] update ebuilds pulled in from portage/overlays, merging upstream and user changes; (work on patch sequences and reordering complete, 30% done)
-6) remove packages from the repository (if possible, by simply reverting the relevant commits, unless some
+- [x] 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).
+
+### TODO (future plans)
+
+- migrate from curtsies to a custom TUI library (with widgets and stuff)
+- generify handlers (?)
+- expand and extend global options
+- properly sanitize user input