]>
git.ipfire.org Git - people/stevee/pakfire.git/log
Michael Tremer [Thu, 2 Nov 2017 19:27:24 +0000 (20:27 +0100)]
Drop "pakfire-server" command
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 19:16:01 +0000 (20:16 +0100)]
base: Drop importing the actions module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 19:07:36 +0000 (20:07 +0100)]
http: Remove dependency on constants.py
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 19:01:57 +0000 (20:01 +0100)]
Drop resolvdep command which isn't very helpful
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:56:44 +0000 (19:56 +0100)]
Allow removing packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:45:01 +0000 (19:45 +0100)]
http: Don't add base URL if it is empty
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:42:28 +0000 (19:42 +0100)]
Drop importing old satsolver
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:42:15 +0000 (19:42 +0100)]
Allow to check for any dependency issues
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:37:20 +0000 (19:37 +0100)]
POTFILES.in: Add files that use translations
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:30:46 +0000 (19:30 +0100)]
Drop now unused satsolver.py file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:26:12 +0000 (19:26 +0100)]
Make search working
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:15:18 +0000 (19:15 +0100)]
.gitignore: Add VS Code files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:14:50 +0000 (19:14 +0100)]
Don't execute a transaction when it is empty
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:14:10 +0000 (19:14 +0100)]
Link libpakfire.so again if symbol table has changed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 18:06:01 +0000 (19:06 +0100)]
Add support to the solver to update
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 17:10:17 +0000 (18:10 +0100)]
Remove old installation logic and move it into the CLI module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 15:55:05 +0000 (16:55 +0100)]
Support to install packages without recommended packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 15:24:06 +0000 (16:24 +0100)]
cli: Catch dependency errors and show a nice message
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 15:09:42 +0000 (16:09 +0100)]
problems: Show problem string in repr
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Nov 2017 15:01:08 +0000 (16:01 +0100)]
Raise DependencyError from C module if request could not be solved
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Nov 2017 21:25:32 +0000 (22:25 +0100)]
http: Add baseurl as mirror with least priority
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Nov 2017 21:25:13 +0000 (22:25 +0100)]
Better error messagen if SOLV file could not be parsed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Nov 2017 21:00:37 +0000 (22:00 +0100)]
Softly fail when mirrorlist is not in cache
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Nov 2017 20:56:38 +0000 (21:56 +0100)]
Log reason why file could not be opened
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2017 20:54:06 +0000 (22:54 +0200)]
libpakfire: Implement dumping a transaction
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jun 2017 13:39:28 +0000 (15:39 +0200)]
libpakfire: Allow sorting package lists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jun 2017 17:03:34 +0000 (19:03 +0200)]
Re-add accidentially committed line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jun 2017 17:03:00 +0000 (19:03 +0200)]
errors: Print a nice message on dependency errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jun 2017 17:02:32 +0000 (19:02 +0200)]
cli: Move exception handling into Cli base class
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jun 2017 17:01:44 +0000 (19:01 +0200)]
cli: Load ui component for CLIs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 21:26:01 +0000 (23:26 +0200)]
libpakfire: repo: Don't clear repodata when repo is deallocated
This data needs to stay there until the pool (and the actual
repository in libsolv) is destroyed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 21:01:55 +0000 (23:01 +0200)]
libpakfire: Allow accessing possible solutions for problems
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 13:13:36 +0000 (15:13 +0200)]
libpakfire: Allow extracting problems from solver
When a request could not be solved, the solver will return
a list of problems of what went wrong.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 13:10:41 +0000 (15:10 +0200)]
libpakfire: Fix releasing memory in correct order
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 10:11:02 +0000 (12:11 +0200)]
Big rewrite of the builder class
This is WIP and mainly a reformatting and rewrite to use the
new interfaces of the Pakfire class.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 10:09:35 +0000 (12:09 +0200)]
pakfire: Allow easy access to version number
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 10:08:50 +0000 (12:08 +0200)]
pakfire: Allow passing an individual configuration to a pakfire instance
Handy for build environments that have a different configuration
than the host system
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 10:06:57 +0000 (12:06 +0200)]
config: Make distribution objects easily accessible from config
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 10:06:13 +0000 (12:06 +0200)]
repository: Automatically load repos from configuration file on startup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 May 2017 10:05:43 +0000 (12:05 +0200)]
config: Don't file if a file does not exist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 7 May 2017 12:23:57 +0000 (14:23 +0200)]
arch: Fix typos and catch some errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 7 May 2017 12:18:27 +0000 (14:18 +0200)]
shell: Fix tailing logs
Anything that is read from a file descriptor is now
of the bytes data type.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2017 18:29:46 +0000 (20:29 +0200)]
Drop support for icecream
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2017 17:10:20 +0000 (19:10 +0200)]
Refactor repository downloading code
This was always a bit messy and hard to use in other parts
of pakfire. Now, repositories are now refreshing themselves
when refresh() is being called.
Downloading code has been tidied up and everything should
be atomic.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Apr 2017 17:27:05 +0000 (19:27 +0200)]
libpakfire: Allow direct parsing of XZ compressed SOLV files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Apr 2017 20:50:45 +0000 (22:50 +0200)]
http: Reset pointer of downloaded temporary file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Apr 2017 16:54:04 +0000 (18:54 +0200)]
http: Compare retrieved files against a checksum
If the checksum does not match, the file is redownloaded from
another mirror server until all mirrors have been tried.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Apr 2017 13:53:08 +0000 (15:53 +0200)]
http: Actually write downloaded file to disk
This was just unreachable code because of wrong indentation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Apr 2017 18:06:09 +0000 (20:06 +0200)]
Drop satsolver.Pool class and use Pool from _pakfire
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Apr 2017 16:00:13 +0000 (18:00 +0200)]
Delete the repo cache to clean a repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Apr 2017 14:57:39 +0000 (16:57 +0200)]
InstalledPackages: Drop dead code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 30 Dec 2016 13:25:58 +0000 (14:25 +0100)]
Extend Python bindings to use libpakfire for dependency resolution
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 30 Dec 2016 13:11:43 +0000 (14:11 +0100)]
http: Fix wrong function call
The function was renamed to make clearer what it actually does
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 18 Dec 2016 17:37:32 +0000 (18:37 +0100)]
_pakfire: Implement Package based on libpakfire
This wraps around libpakfire and enables Python to
get access to packages.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 18 Dec 2016 17:06:52 +0000 (18:06 +0100)]
_pakfire: Use repository management code from libpakfire
This is very much WIP but now uses the new pakfire library
to manage repositories in memory.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 17 Dec 2016 17:29:38 +0000 (18:29 +0100)]
_pakfire: Import Archive class
This can be used to read a package archive and extract
files from it.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 15 Dec 2016 22:04:54 +0000 (23:04 +0100)]
Cleanup any clashes in include protectors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 15 Dec 2016 22:00:50 +0000 (23:00 +0100)]
Rewrite _pakfire.Pool based on libpakfire
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Dec 2016 22:44:00 +0000 (23:44 +0100)]
Import libpakfire
libpakfire is a C implementation of some functionality
of pakfire. It is supposed to make code cleaner and avoid
too much wrapping in python. It is also intended to make
the code faster where ever performance is critical.
This patch adds a dependency to libarchive which is used
to read and write packages.
This implementation is not fully finished and possibly
rough around the edges. It has to be integrated into
the existing Python code and redundant code will have to
be dropped.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Dec 2016 23:23:19 +0000 (00:23 +0100)]
Automatically initialize any locally configured repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Dec 2016 22:29:02 +0000 (23:29 +0100)]
PakfireContext: Add shortcut to repos
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Dec 2016 22:28:28 +0000 (23:28 +0100)]
Remove outdated TODO list
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Dec 2016 22:13:19 +0000 (23:13 +0100)]
http: Add option for client code to skip mirrors
In case any higher-level code is not satisfied with
a download (checksum doesn't match, data too old),
it can decide to skip the current mirror and the next
best one is chosen.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Dec 2016 22:04:26 +0000 (23:04 +0100)]
http: Download to a temporary file
This patch makes the HTTP client download data
into memory first and writes it to a temporary
file after 10M of data was downloaded.
This makes downloads faster and reduces IO load
but does not give us any limitation in case bigger
files are downloaded.
We get rid of some file locking which is always
difficult to entertain.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 22:13:47 +0000 (23:13 +0100)]
Move remove() to PakfireContext
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 22:12:03 +0000 (23:12 +0100)]
Move downgrade() to PakfireContext
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 22:10:44 +0000 (23:10 +0100)]
Move update() to PakfireContext
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 22:07:23 +0000 (23:07 +0100)]
Move reinstall() to PakfireContext
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 22:02:39 +0000 (23:02 +0100)]
Move install() to PakfireContext
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:57:57 +0000 (22:57 +0100)]
base: Remove unused builder attribute
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:56:13 +0000 (22:56 +0100)]
base: Drop unnecessary repo_list
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:51:45 +0000 (22:51 +0100)]
Move provides() to PakfireContext
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:49:44 +0000 (22:49 +0100)]
Drop groulist command
This does not have much use and is therefore
not supported any longer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:48:01 +0000 (22:48 +0100)]
Drop groupinstall command
This was just a shortcut and I have personally never
used that and there is probably only little use for it.
Hence this patch drops it.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:46:37 +0000 (22:46 +0100)]
Move check() to PakfireContext
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:44:03 +0000 (22:44 +0100)]
Move search() to PakfireContext
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:36:37 +0000 (22:36 +0100)]
base: Add PakfireContext
To make initializing Pakfire easier, this patch introduces
PakfireContext. So writing code like
with Pakfire() as p:
p.some_action()
will automatically take care of initializing Pakfire and
cleaning up afterwards.
Actions that do not require initialization will remain
in Pakfire so that they can be accessed as
p = Pakfire()
p.some_other_action()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 21:11:16 +0000 (22:11 +0100)]
ui: Format bytes with proper whitespace and decimal points
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:58:43 +0000 (21:58 +0100)]
http: Reset only when necessary
This is when an error occoured and it will also
remove any partially downloaded content.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:48:21 +0000 (21:48 +0100)]
cli: Fix dist command
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:42:25 +0000 (21:42 +0100)]
packages: Replace old downloader code with new one
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:27:37 +0000 (21:27 +0100)]
http: Truncate the downloaded file instead re-opening it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:23:14 +0000 (21:23 +0100)]
progressbar: Only reset when progress is larger than zero
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:21:44 +0000 (21:21 +0100)]
http: Reset the progressbar when download restarts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:11:34 +0000 (21:11 +0100)]
http: Only initialize the progress bar once
When a request fails and we move to the next mirror
we do not want to show an other progressbar.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:10:44 +0000 (21:10 +0100)]
http: Catch all download errors and move on to the next mirror
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:08:28 +0000 (21:08 +0100)]
http: Use error widget to show any download errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 20:07:46 +0000 (21:07 +0100)]
progressbar: Add widget to show any errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 00:19:51 +0000 (01:19 +0100)]
http: Make filename argument optional
Use the basename of the URL if omitted
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Dec 2016 00:14:54 +0000 (01:14 +0100)]
http: Pick mirror when downloading
This avoids some unnecessary work when mirrors are added
(because mirror lists can be large) and unnecessary log
messages.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Dec 2016 23:57:29 +0000 (00:57 +0100)]
http: Exclusively lock download files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Dec 2016 23:51:09 +0000 (00:51 +0100)]
http: Use buffer size value from constants
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Dec 2016 23:41:53 +0000 (00:41 +0100)]
constants: Remove unused setting
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Dec 2016 23:41:16 +0000 (00:41 +0100)]
Use new HTTP client to make source packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Dec 2016 23:38:55 +0000 (00:38 +0100)]
http: Add support for mirrors
This patch add support for mirrors to the downloader. If a list
of mirrors is given, it will try to retrieve files from a mirror
and fall back to the next one on the list in case the request
was not successful.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Dec 2016 22:56:51 +0000 (23:56 +0100)]
http: Actually write downloaded files to the filesystem
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Dec 2016 19:16:17 +0000 (20:16 +0100)]
system: Add host distro
The system module loads details about the host's distribution
which will be used by Pakfire if nothing else is configured.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Dec 2016 18:10:14 +0000 (19:10 +0100)]
base: Move architecture to Pakfire class
This used to be located in Distribution but is actually
not that closely tied with that.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Dec 2016 18:00:49 +0000 (19:00 +0100)]
arch: Rename arch variable to name
Both don't sound right, but it makes more sense to use
arch.name than arch.arch.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Dec 2016 17:36:44 +0000 (18:36 +0100)]
system: Move architecture-dependent things into an own module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>