Fabio Erculiani
2d65d5b7bf
[entropy.client] fix conflicts removal handling during upgrade.
...
In certain extreme situations, that are more likely if the install
state is old (e.g. 9 months +), Entropy may decide to remove packages
due to conflicts with the version being installed and shoot itself
in the foot, if this is the case of dev-lang/python :-).
So, this commit tries to avoid the scenario by filtering out package
removals for those that are being installed anyway as part of the
transaction (e.g. a system upgrade).
This should fix the very specific case, but increase uncertainty
and thus entropy in other cases where once a package that lists
conflicts is installed, it may not expect to find that package
installed. However, this case should be handled by the dependency
graph generator (and it currently does not), which would need to
reorder the execution of the queue to comply with conflicts.
Perhaps, someone in the future will improve that too, for now,
let's enjoy one more snowflake.
Current improvement:
- foo-1 and bar-2 are set to be installed
- foo-1 conflicts with <bar-2
- bar-1 is installed
- foo-1 wanted to remove bar-1 as part of foo-1 install transaction.
(now fixed, it won't...)
- bar-2 is then installed
Better improvement:
- foo-1 and bar-2 are set to be installed
- foo-1 conflicts with <bar-2 (but bar-2 itself can be installed
and does not conflict with foo-1)
- bar-2 is set to be installed before foo-1
- when entropy gets to foo-1 there is nothing to remove
2017-10-08 21:51:07 +02:00
Fabio Erculiani
5ae09bf9c3
Merge pull request #30 from Enlik/exc-handler-fix
...
[entropy.client] fixes to exception handler
2016-08-30 20:18:38 +02:00
Fabio Erculiani
bf5e00d014
Merge pull request #24 from skwerlman/patch-1
...
[solo.commands.moo] fix `lxnay` speech bubble
2016-08-30 20:17:57 +02:00
Sławomir Nizio
706d6bca55
[solo.commands,lib] improve message about conflicted packages
...
Don't show the package itself. If there are no revdeps, nothing would be
shown so a custom "(no reverse dependencies)" message will appear, which
is clearer.
2016-08-06 20:55:33 +02:00
Sławomir Nizio
e96db09ad7
[solo.commands,lib] display packages that pull in conflicting ones
2016-08-05 20:00:21 +02:00
Sławomir Nizio
37d15af8bf
[entropy.client] fixes to exception handler
...
- correct negated logic in EPIPE hanling
- correct ENOSPC handling (it's IOError, but OSError was catched)
- support Python 3.3+ which got reworked exceptions
2016-08-04 01:30:22 +02:00
mudler
8af6a2678d
[entropy.client] adding support for wildcard in ACCEPT_LICENSE
...
This allows to call equo with ACCEPT_LICENSE="*" and accept automatically all the licenses without user prompting
2016-05-14 23:08:08 +02:00
skwerlman
f4d09bcef0
[solo.commands.moo] fix lxnay speech bubble
2016-04-08 15:48:24 -04:00
Sławomir Nizio
b12a25e72d
[entropy.client] print repository on conflict
...
Copy-pastable for equo mask.
2016-03-30 23:02:46 +02:00
Sławomir Nizio
b43498596e
[solo.commands.security] repair --mtime in oscheck
...
While testing the change that adds [package ...] to oscheck, I noticed
this bug.
2016-03-07 22:08:18 +01:00
Sławomir Nizio
449b1c3fe7
[solo.commands.security] support for package names in oscheck
2016-03-07 21:00:06 +01:00
Sławomir Nizio
1bda075ad0
[entropy.client] while asking to accept the license, interpret EOF as "no"
...
Otherwise it would loop indefinitely (bug 4849).
2015-05-16 00:01:55 +02:00
Fabio Erculiani
363c6a175f
[entropy.*] migrate all retrieveNeeded uses to retrieveNeededLibraries
2014-10-20 15:04:19 +02:00
Fabio Erculiani
35542de6c0
Merge pull request #10 from Enlik/master-like-depclean
...
improved 'equo unused' algorithm
2014-10-17 23:20:40 +01:00
Sławomir Nizio
bbb1b710c2
[entropy.client] updates to unused.py after review
2014-10-17 23:57:02 +02:00
Sławomir Nizio
deeb3e8dd6
[entropy.client] equo unused that works more like emerge --depclean
...
Almost done, but there are comments with things I'd like to get
feedback about.
2014-10-17 23:15:26 +02:00
Fabio Erculiani
2a35e8a9d0
[solo.commands.pkg] EEXIST is fine when using makedirs()
2014-10-17 11:27:51 +01:00
Fabio Erculiani
713fd9dd74
[entropy.client] ignore package masking for the first element when only_deps is True
2014-05-31 14:02:54 +01:00
Fabio Erculiani
39e2ab6890
[solo.commands.pkg] add missing import: errno
2014-05-10 21:42:32 +01:00
Fabio Erculiani
1f6bd34749
[entropy] prefix package download URLs with the category directory
...
This makes possible to avoid directory hot spots on repository mirrors.
This commit requires some mileage and real-world testing, but it
seems to be running good on a relatively small repository.
No backward compatibility issues have been reported.
2014-02-15 19:10:16 +01:00
Fabio Erculiani
03ef3991bd
[entropy.client] refactor NoticeBoard Entropy Client API
2014-02-14 13:10:16 +01:00
Fabio Erculiani
4a9980d37c
[entropy.qa] rename ErrorReportInterface to ErrorReport, it's cleaner
2014-01-30 14:56:37 +01:00
Fabio Erculiani
d856204a8d
[solo.commands.rescue] simplify "generate" code
2014-01-11 10:43:53 +01:00
Fabio Erculiani
c22a8efc2c
[solo.commands.rescue] handle the inst_repo lock when needed
2014-01-11 09:57:38 +01:00
Fabio Erculiani
86820a9aba
[solo.commands.hop] acquire the inst_repo exclusive lock before touching it
2014-01-11 09:44:04 +01:00
Fabio Erculiani
f1a925c220
[solo.commands.install] acquire the notification lock in shared NB mode
...
This should avoid starvation in the scenario outlined in code comments.
2013-12-26 22:52:12 +01:00
Fabio Erculiani
00f43b043c
[solo.commands.install] acquire the UpdatesNotificationResourceLock in shared mode
...
This will temporarily disable available updates notifications from
RigoDaemon
2013-12-26 22:52:12 +01:00
Fabio Erculiani
beff483d19
[solo.commands] remove leading ">>" string from ask_question() message.
2013-12-16 19:53:11 +01:00
Fabio Erculiani
3e528ae1ae
[solo.commands.*] rename call_unlocked to call_shared, call_locked to call_exclusive
2013-12-12 22:15:47 +01:00
Fabio Erculiani
162c08961f
[solo.utils] use the public message header variable
2013-12-12 19:27:19 +01:00
Fabio Erculiani
fc597d04c5
[entropy.security] refactor System, add internal locking support, improve speed
2013-12-10 16:39:17 +01:00
Fabio Erculiani
ebf63e6060
[entropy.locks] fix shared/exclusive locking mix due to reentrancy, add tests
2013-12-08 16:15:39 +01:00
Fabio Erculiani
1917771b54
[entropy.locks] move Entropy Resources Lock code to a separate module
2013-12-08 14:37:57 +01:00
Fabio Erculiani
76df355ca4
[solo.commands.pkg] add concurrency support
2013-12-07 20:30:06 +01:00
Fabio Erculiani
53b5d9cddc
[solo.commands.unused] add concurrency support
2013-12-07 20:30:06 +01:00
Fabio Erculiani
e0142412d8
[solo.commands.mask] acquire the Entropy Resources Lock in shared mode
2013-12-07 20:30:06 +01:00
Fabio Erculiani
25d88d95b6
[solo.commands.conf] acquire the Entropy Resources Lock in shared mode
2013-12-07 20:30:06 +01:00
Fabio Erculiani
9298c740fe
[solo.commands.ugc] acquire the Entropy Resources Lock in shared mode
2013-12-07 20:30:06 +01:00
Fabio Erculiani
c8a0377845
[solo.commands.cache] add concurrency support
2013-12-07 20:29:20 +01:00
Fabio Erculiani
e7555f4127
[solo.commands.manage] allow concurrency, use the Entropy Resources Lock in shared mode
2013-12-07 20:29:19 +01:00
Fabio Erculiani
19439db61c
[solo.commands.security] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
13af91c7ba
[solo.commands.libtest] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
e317a71524
[solo.commands.deptest] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
f4a25af5d0
[solo.commands.upgrade] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
5dfcdb2794
[solo.commands.remove] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
3e97a39779
[solo.commands.preservedlibs] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
008b65d11b
[solo.commands.download] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
55d1b8aa8f
[solo.commands.source] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
7046aedc52
[solo.commands.config] add concurrency support
2013-12-07 20:29:19 +01:00
Fabio Erculiani
ac0e1ca28e
[solo.commands._manage] make _show_preserved_libraries process and thread safe
2013-12-07 20:29:19 +01:00