Update readme. Add file rename feature to archive download.

This commit is contained in:
Safa Arıman
2020-03-14 23:20:29 +03:00
parent e062cc5eeb
commit 08d106beba
4 changed files with 109 additions and 28 deletions
-18
View File
@@ -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
+98
View File
@@ -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/)
+3 -4
View File
@@ -47,8 +47,8 @@ class SourceArchive:
and unpacking a source archive"""
def __init__(self, archive):
self.url = pisi.uri.URI(archive.uri)
self.archiveFile = os.path.join(ctx.config.archives_dir(), self.url.filename())
self.archive = archive
self.archiveFile = os.path.join(ctx.config.archives_dir(), self.archive.name)
def fetch(self, interactive=True):
if not self.is_cached(interactive):
@@ -62,15 +62,14 @@ class SourceArchive:
if self.url.get_uri().startswith("mirrors://"):
self.fetch_from_mirror()
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:
if ctx.config.values.build.fallback:
self.fetch_from_fallback()
else:
raise
ctx.ui.info(_("Source archive is stored: %s/%s")
% (ctx.config.archives_dir(), self.url.filename()))
ctx.ui.info(_("Source archive is stored: %s/%s") % (ctx.config.archives_dir(), self.archive.name))
def fetch_from_fallback(self):
archive = os.path.basename(self.url.get_uri())
+8 -6
View File
@@ -149,15 +149,17 @@ class ComarProvide(metaclass=autoxml.autoxml):
s += ' (' + self.om + '%s' % (' for %s' % self.name if self.name else '') + ')'
return s
class Archive(metaclass=autoxml.autoxml):
s_uri = [ autoxml.String, autoxml.mandatory ]
a_type = [ autoxml.String, autoxml.optional ]
a_sha1sum =[ autoxml.String, autoxml.mandatory ]
a_target =[ autoxml.String, autoxml.optional ]
class Archive(metaclass=autoxml.autoxml):
s_uri = [autoxml.String, autoxml.mandatory]
a_type = [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):
self.name = os.path.basename(self.uri)
if not self.name:
self.name = os.path.basename(self.uri)
def __str__(self):
s = _('URI: %s, type: %s, sha1sum: %s') % (self.uri, self.type, self.sha1sum)