Update readme. Add file rename feature to archive download.
This commit is contained in:
@@ -1,18 +0,0 @@
|
|||||||
PISI - Packages Installed Succesfully as Intended
|
|
||||||
|
|
||||||
PISI is a new package manager for the PARDUS
|
|
||||||
distribution. In Turkish PISI means "kitty", and
|
|
||||||
like a kitty, it is featureful and small.
|
|
||||||
|
|
||||||
Some of its distinctive features:
|
|
||||||
|
|
||||||
- Implemented in python
|
|
||||||
- Efficient and small
|
|
||||||
- Package sources are written in XML and python
|
|
||||||
- Uses LZMA for a better compression ratio
|
|
||||||
- Fast database access implemented with berkeley DB
|
|
||||||
- Integrates low-level and high-level package operations (dependency resolution)
|
|
||||||
- Framework approach to build applications and tools upon
|
|
||||||
- Comprehensive CLI and a user-friendly qt GUI (distributed separately)
|
|
||||||
- Extremely simple package construction
|
|
||||||
|
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
# PISI - Packages Installed Succesfully as Intended
|
||||||
|
PISI is a package manager. In Turkish PISI means "kitty", and like a kitty, it is featureful and small.
|
||||||
|
|
||||||
|
Some of its distinctive features:
|
||||||
|
|
||||||
|
* Implemented in Python.
|
||||||
|
* Efficient and small.
|
||||||
|
* Package sources are written in XML and Python.
|
||||||
|
* Uses LZMA for a better compression ratio.
|
||||||
|
* Fast database access implemented with Berkeley DB.
|
||||||
|
* Integrates low-level and high-level package operations (dependency resolution).
|
||||||
|
* Framework approach to build applications and tools upon.
|
||||||
|
* Comprehensive CLI and a user-friendly QT GUI (distributed separately).
|
||||||
|
* Extremely simple package construction.
|
||||||
|
|
||||||
|
|
||||||
|
## Build Dependencies
|
||||||
|
Python 3.6+, Gettext, Intltool, COMAR
|
||||||
|
|
||||||
|
|
||||||
|
## Runtime Dependencies
|
||||||
|
Python 3.6+, File, Gettext, COMAR, Piksemel, Mudur
|
||||||
|
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
```bash
|
||||||
|
sudo -H python setup.py install
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
```shell
|
||||||
|
usage: pisi [options] <command> [arguments]
|
||||||
|
|
||||||
|
where <command> is one of:
|
||||||
|
|
||||||
|
add-repo (ar) - Add a repository
|
||||||
|
blame (bl) - Information about the package owner and release
|
||||||
|
build (bi) - Build PiSi packages
|
||||||
|
check - Verify installation
|
||||||
|
clean - Clean stale locks
|
||||||
|
configure-pending (cp) - Configure pending packages
|
||||||
|
delete-cache (dc) - Delete cache files
|
||||||
|
delta (dt) - Creates delta packages
|
||||||
|
disable-repo (dr) - Disable repository
|
||||||
|
emerge (em) - Build and install PiSi source packages from repository
|
||||||
|
emergeup (emup) - Build and install PiSi source packages from repository
|
||||||
|
enable-repo (er) - Enable repository
|
||||||
|
fetch (fc) - Fetch a package
|
||||||
|
graph - Graph package relations
|
||||||
|
help (?) - Prints help for given commands
|
||||||
|
history (hs) - History of pisi operations
|
||||||
|
index (ix) - Index PiSi files in a given directory
|
||||||
|
info - Display package information
|
||||||
|
install (it) - Install PiSi packages
|
||||||
|
list-available (la) - List available packages in the repositories
|
||||||
|
list-components (lc) - List available components
|
||||||
|
list-installed (li) - Print the list of all installed packages
|
||||||
|
list-newest (ln) - List newest packages in the repositories
|
||||||
|
list-orphaned (lo) - List orphaned packages
|
||||||
|
list-pending (lp) - List pending packages
|
||||||
|
list-repo (lr) - List repositories
|
||||||
|
list-sources (ls) - List available sources
|
||||||
|
list-upgrades (lu) - List packages to be upgraded
|
||||||
|
rebuild-db (rdb) - Rebuild Databases
|
||||||
|
remove (rm) - Remove PiSi packages
|
||||||
|
remove-orphaned (ro) - Remove orphaned packages
|
||||||
|
remove-repo (rr) - Remove repositories
|
||||||
|
search (sr) - Search packages
|
||||||
|
search-file (sf) - Search for a file
|
||||||
|
update-repo (ur) - Update repository databases
|
||||||
|
upgrade (up) - Upgrade PiSi packages
|
||||||
|
|
||||||
|
Use "pisi help <command>" for help on a specific command.
|
||||||
|
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--version : show program's version number and exit
|
||||||
|
-h [--help] : show this help message and exit
|
||||||
|
|
||||||
|
general options:
|
||||||
|
-D [--destdir] arg : Change the system root for PiSi commands
|
||||||
|
-y [--yes-all] : Assume yes in all yes/no queries
|
||||||
|
-u [--username] arg
|
||||||
|
-p [--password] arg
|
||||||
|
-L [--bandwidth-limit] arg : Keep bandwidth usage under specified KB's
|
||||||
|
-v [--verbose] : Detailed output
|
||||||
|
-d [--debug] : Show debugging information
|
||||||
|
-N [--no-color] : Suppresses all coloring of PiSi's output
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
[GPLv2](https://choosealicense.com/licenses/gpl-2.0/)
|
||||||
@@ -47,8 +47,8 @@ class SourceArchive:
|
|||||||
and unpacking a source archive"""
|
and unpacking a source archive"""
|
||||||
def __init__(self, archive):
|
def __init__(self, archive):
|
||||||
self.url = pisi.uri.URI(archive.uri)
|
self.url = pisi.uri.URI(archive.uri)
|
||||||
self.archiveFile = os.path.join(ctx.config.archives_dir(), self.url.filename())
|
|
||||||
self.archive = archive
|
self.archive = archive
|
||||||
|
self.archiveFile = os.path.join(ctx.config.archives_dir(), self.archive.name)
|
||||||
|
|
||||||
def fetch(self, interactive=True):
|
def fetch(self, interactive=True):
|
||||||
if not self.is_cached(interactive):
|
if not self.is_cached(interactive):
|
||||||
@@ -62,15 +62,14 @@ class SourceArchive:
|
|||||||
if self.url.get_uri().startswith("mirrors://"):
|
if self.url.get_uri().startswith("mirrors://"):
|
||||||
self.fetch_from_mirror()
|
self.fetch_from_mirror()
|
||||||
else:
|
else:
|
||||||
pisi.fetcher.fetch_url(self.url, ctx.config.archives_dir(), self.progress)
|
pisi.fetcher.fetch_url(self.url, ctx.config.archives_dir(), self.progress, self.archive.name)
|
||||||
except pisi.fetcher.FetchError:
|
except pisi.fetcher.FetchError:
|
||||||
if ctx.config.values.build.fallback:
|
if ctx.config.values.build.fallback:
|
||||||
self.fetch_from_fallback()
|
self.fetch_from_fallback()
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
ctx.ui.info(_("Source archive is stored: %s/%s")
|
ctx.ui.info(_("Source archive is stored: %s/%s") % (ctx.config.archives_dir(), self.archive.name))
|
||||||
% (ctx.config.archives_dir(), self.url.filename()))
|
|
||||||
|
|
||||||
def fetch_from_fallback(self):
|
def fetch_from_fallback(self):
|
||||||
archive = os.path.basename(self.url.get_uri())
|
archive = os.path.basename(self.url.get_uri())
|
||||||
|
|||||||
+8
-6
@@ -149,15 +149,17 @@ class ComarProvide(metaclass=autoxml.autoxml):
|
|||||||
s += ' (' + self.om + '%s' % (' for %s' % self.name if self.name else '') + ')'
|
s += ' (' + self.om + '%s' % (' for %s' % self.name if self.name else '') + ')'
|
||||||
return s
|
return s
|
||||||
|
|
||||||
class Archive(metaclass=autoxml.autoxml):
|
|
||||||
|
|
||||||
s_uri = [ autoxml.String, autoxml.mandatory ]
|
class Archive(metaclass=autoxml.autoxml):
|
||||||
a_type = [ autoxml.String, autoxml.optional ]
|
s_uri = [autoxml.String, autoxml.mandatory]
|
||||||
a_sha1sum =[ autoxml.String, autoxml.mandatory ]
|
a_type = [autoxml.String, autoxml.optional]
|
||||||
a_target =[ autoxml.String, autoxml.optional ]
|
a_sha1sum = [autoxml.String, autoxml.mandatory]
|
||||||
|
a_target = [autoxml.String, autoxml.optional]
|
||||||
|
a_name = [autoxml.String, autoxml.optional]
|
||||||
|
|
||||||
def decode_hook(self, node, errs, where):
|
def decode_hook(self, node, errs, where):
|
||||||
self.name = os.path.basename(self.uri)
|
if not self.name:
|
||||||
|
self.name = os.path.basename(self.uri)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
s = _('URI: %s, type: %s, sha1sum: %s') % (self.uri, self.type, self.sha1sum)
|
s = _('URI: %s, type: %s, sha1sum: %s') % (self.uri, self.type, self.sha1sum)
|
||||||
|
|||||||
Reference in New Issue
Block a user