* [gentoo-portage-dev] [PATCH 0/4] Autounmask changes
@ 2014-08-12 9:37 Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 1/4] emerge: Deprecate --autounmask Alexander Berntsen
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-12 9:37 UTC (permalink / raw
To: gentoo-portage-dev
Here are the infamous autounmask changes agreed to on the last meeting:
<http://article.gmane.org/gmane.linux.gentoo.portage.devel/4351>
They behave like this:
sudo ./emerge =gcc-4.8.3
Calculating dependencies... done!
[ebuild NS ~] sys-devel/gcc-4.8.3 [4.7.3-r1] USE="cxx fortran gcj (multilib) nls nptl objc openmp (-altivec) -awt -doc (-fixed-point) -go -graphite (-hardened) (-libssp) -mudflap (-multislot) -nopie -nossp -objc++ -objc-gc -regression-test -vanilla"
The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by =gcc-4.8.3 (argument)
=sys-devel/gcc-4.8.3 ~amd64
Use --autounmask to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.
sudo ./emerge =gcc-4.8.3 --autounmask
Calculating dependencies... done!
[ebuild NS ~] sys-devel/gcc-4.8.3 [4.7.3-r1] USE="cxx fortran gcj (multilib) nls nptl objc openmp (-altivec) -awt -doc (-fixed-point) -go -graphite (-hardened) (-libssp) -mudflap (-multislot) -nopie -nossp -objc++ -objc-gc -regression-test -vanilla"
The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by =gcc-4.8.3 (argument)
=sys-devel/gcc-4.8.3 ~amd64
Autounmask changes successfully written.
* IMPORTANT: config file '/etc/portage/package.accept_keywords' needs updating.
* See the CONFIGURATION FILES section of the emerge
* man page to learn how to update config files.
sudo ./emerge =gcc-4.8.3 --autounmask=n
Calculating dependencies... done!
!!! All ebuilds that could satisfy "=gcc-4.8.3" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-devel/gcc-4.8.3::gentoo (masked by: ~amd64 keyword)
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
sudo ./emerge =gcc-4.8.3 -a
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild NS ~] sys-devel/gcc-4.8.3 [4.7.3-r1] USE="cxx fortran gcj (multilib) nls nptl objc openmp (-altivec) -awt -doc (-fixed-point) -go -graphite (-hardened) (-libssp) -mudflap (-multislot) -nopie -nossp -objc++ -objc-gc -regression-test -vanilla"
The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by =gcc-4.8.3 (argument)
=sys-devel/gcc-4.8.3 ~amd64
Would you like to add these changes to your config files? [Yes/No] No
sudo ./emerge =gcc-4.8.3 -a --autounmask=n
These are the packages that would be merged, in order:
Calculating dependencies... done!
!!! All ebuilds that could satisfy "=gcc-4.8.3" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-devel/gcc-4.8.3::gentoo (masked by: ~amd64 keyword)
Please review & test.
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
Alexander Berntsen (4):
emerge: Deprecate --autounmask
emerge: Rename --autounmask-write to --autounmask
emerge: Make --autounmask=y if --ask=y
emerge: Let --autounmask=n override other options
man/emerge.1 | 43 +++++++++++++++++--------------------------
pym/_emerge/depgraph.py | 14 +++++++++-----
pym/_emerge/main.py | 9 ---------
3 files changed, 26 insertions(+), 40 deletions(-)
--
1.8.5.5
^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-portage-dev] [PATCH 1/4] emerge: Deprecate --autounmask
2014-08-12 9:37 [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
@ 2014-08-12 9:37 ` Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 2/4] emerge: Rename --autounmask-write to --autounmask Alexander Berntsen
` (3 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-12 9:37 UTC (permalink / raw
To: gentoo-portage-dev; +Cc: Alexander Berntsen
From: Alexander Berntsen <alexander@plaimi.net>
Remove the --autounmask option from emerge. Please note that removing
the option does not mean that the variable used for keeping track of
autounmasking is removed from depgraph.py.
Signed-off-by: Alexander Berntsen <bernalex@gentoo.org>
---
man/emerge.1 | 33 ++++++++++-----------------------
pym/_emerge/depgraph.py | 3 +--
pym/_emerge/main.py | 9 ---------
3 files changed, 11 insertions(+), 34 deletions(-)
diff --git a/man/emerge.1 b/man/emerge.1
index e32bb43..d0a0806 100644
--- a/man/emerge.1
+++ b/man/emerge.1
@@ -336,38 +336,25 @@ invalid input. This helps prevent accidental
acceptance of the first choice. This option is
intended to be set in the \fBmake.conf\fR(5)
\fBEMERGE_DEFAULT_OPTS\fR variable.
-.TP
-.BR "\-\-autounmask [ y | n ]"
-Automatically unmask packages and generate package.use
-settings as necessary to satisfy dependencies. This
-option is enabled by default. If any configuration
-changes are required, then they will be displayed
-after the merge list and emerge will immediately
-abort. If the displayed configuration changes are
-satisfactory, you should copy and paste them into
-the specified configuration file(s), or enable the
\fB\-\-autounmask\-write\fR option. The
\fBEMERGE_DEFAULT_OPTS\fR variable may be used to
disable this option by default in \fBmake.conf\fR(5).
.TP
.BR "\-\-autounmask\-unrestricted\-atoms [ y | n ]"
-If \-\-autounmask is enabled, keyword and mask changes
-using the \'=\' operator will be written. With this
-option, \'>=\' operators will be used whenever possible.
-USE and license changes always use the latter behavior.
+Keyword and mask changes using the \'=\' operator will be written. With this
+option, \'>=\' operators will be used whenever possible. USE and license
+changes always use the latter behavior.
.TP
.BR "\-\-autounmask\-keep\-masks [ y | n ]"
-If \-\-autounmask is enabled, no package.unmask or ** keyword changes
-will be created. This leads to unsatisfied dependencies if
-no other solution exists.
+No package.unmask or ** keyword changes will be created if this is activated.
+This leads to unsatisfied dependencies if no other solution exists.
.TP
.BR "\-\-autounmask\-write [ y | n ]"
-If \-\-autounmask is enabled, changes are written
-to config files, respecting \fBCONFIG_PROTECT\fR and \fB\-\-ask\fR.
-If the corresponding package.* is a file, the changes are appended to
-it, if it is a directory, changes are written to the lexicographically
-last file. This way it is always ensured that the new changes take
-precedence over existing changes.
+Write required unmask changes to the relevant config files, respecting
+\fBCONFIG_PROTECT\fR and \fB\-\-ask\fR. If the corresponding package.* is a
+file, the changes are appended to it, if it is a directory, changes are written
+to the lexicographically last file. This way it is always ensured that the new
+changes take precedence over existing changes.
.TP
.BR \-\-backtrack=COUNT
Specifies an integer number of times to backtrack if
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index a10297a..b0cfc92 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -418,7 +418,7 @@ class _dynamic_depgraph_config(object):
self._backtrack_infos = {}
self._buildpkgonly_deps_unsatisfied = False
- self._autounmask = depgraph._frozen_config.myopts.get('--autounmask') != 'n'
+ self._autounmask = True
self._success_without_autounmask = False
self._traverse_ignored_deps = False
self._complete_mode = False
@@ -8502,7 +8502,6 @@ def _backtrack_depgraph(settings, trees, myopts, myparams, myaction, myfiles, sp
"\n\nautounmask breakage detected\n\n",
noiselevel=-1, level=logging.DEBUG)
mydepgraph.display_problems()
- myopts["--autounmask"] = "n"
mydepgraph = depgraph(settings, trees, myopts, myparams, spinner,
frozen_config=frozen_config, allow_backtracking=False)
success, favorites = mydepgraph.select_files(myfiles)
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index 52aa9c5..86c0c62 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -126,7 +126,6 @@ def insert_optional_args(args):
default_arg_opts = {
'--alert' : y_or_n,
'--ask' : y_or_n,
- '--autounmask' : y_or_n,
'--autounmask-keep-masks': y_or_n,
'--autounmask-unrestricted-atoms' : y_or_n,
'--autounmask-write' : y_or_n,
@@ -314,11 +313,6 @@ def parse_opts(tmpcmdline, silent=False):
"choices" : true_y_or_n
},
- "--autounmask": {
- "help" : "automatically unmask packages",
- "choices" : true_y_or_n
- },
-
"--autounmask-unrestricted-atoms": {
"help" : "write autounmask changes with >= atoms if possible",
"choices" : true_y_or_n
@@ -693,9 +687,6 @@ def parse_opts(tmpcmdline, silent=False):
else:
myoptions.ask = None
- if myoptions.autounmask in true_y:
- myoptions.autounmask = True
-
if myoptions.autounmask_unrestricted_atoms in true_y:
myoptions.autounmask_unrestricted_atoms = True
--
1.8.5.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-portage-dev] [PATCH 2/4] emerge: Rename --autounmask-write to --autounmask
2014-08-12 9:37 [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 1/4] emerge: Deprecate --autounmask Alexander Berntsen
@ 2014-08-12 9:37 ` Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 3/4] emerge: Make --autounmask=y if --ask=y Alexander Berntsen
` (2 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-12 9:37 UTC (permalink / raw
To: gentoo-portage-dev; +Cc: Alexander Berntsen
From: Alexander Berntsen <alexander@plaimi.net>
Rename --autounmask-write to --autounmask. Please note that removing the
option does not mean that the variable used for keeping track of
autounmask writing is removed from depgraph.py.
Signed-off-by: Alexander Berntsen <bernalex@gentoo.org>
---
man/emerge.1 | 19 +++++++++++--------
pym/_emerge/depgraph.py | 4 ++--
pym/_emerge/main.py | 18 +++++++++---------
3 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/man/emerge.1 b/man/emerge.1
index d0a0806..be52f25 100644
--- a/man/emerge.1
+++ b/man/emerge.1
@@ -336,10 +336,20 @@ invalid input. This helps prevent accidental
acceptance of the first choice. This option is
intended to be set in the \fBmake.conf\fR(5)
\fBEMERGE_DEFAULT_OPTS\fR variable.
-\fB\-\-autounmask\-write\fR option. The
+\fB\-\-autounmask\fR option. The
\fBEMERGE_DEFAULT_OPTS\fR variable may be used to
disable this option by default in \fBmake.conf\fR(5).
.TP
+.BR "\-\-autounmask [ y | n ]"
+Write required unmask changes to the relevant config files, respecting
+\fBCONFIG_PROTECT\fR. If invoked together with \fB\-\-ask\fR, emerge will
+prompt you to write the changes. If invoked along with \fB\-\-pretend\fR,
+emerge will merely output the required changes and not make any of them by
+itself. If the corresponding package.* is a file, the changes are appended to
+it, if it is a directory, changes are written to the lexicographically last
+file. This way it is always ensured that the new changes take precedence over
+existing changes.
+.TP
.BR "\-\-autounmask\-unrestricted\-atoms [ y | n ]"
Keyword and mask changes using the \'=\' operator will be written. With this
option, \'>=\' operators will be used whenever possible. USE and license
@@ -349,13 +359,6 @@ changes always use the latter behavior.
No package.unmask or ** keyword changes will be created if this is activated.
This leads to unsatisfied dependencies if no other solution exists.
.TP
-.BR "\-\-autounmask\-write [ y | n ]"
-Write required unmask changes to the relevant config files, respecting
-\fBCONFIG_PROTECT\fR and \fB\-\-ask\fR. If the corresponding package.* is a
-file, the changes are appended to it, if it is a directory, changes are written
-to the lexicographically last file. This way it is always ensured that the new
-changes take precedence over existing changes.
-.TP
.BR \-\-backtrack=COUNT
Specifies an integer number of times to backtrack if
dependency calculation fails due to a conflict or an
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index b0cfc92..0c6b8e3 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -7332,7 +7332,7 @@ class depgraph(object):
(using CONFIG_PROTECT). The message includes the comments and the changes.
"""
- autounmask_write = self._frozen_config.myopts.get("--autounmask-write", "n") == True
+ autounmask_write = self._frozen_config.myopts.get("--autounmask", "n") == True
autounmask_unrestricted_atoms = \
self._frozen_config.myopts.get("--autounmask-unrestricted-atoms", "n") == True
quiet = "--quiet" in self._frozen_config.myopts
@@ -7694,7 +7694,7 @@ class depgraph(object):
chk_updated_cfg_files(root,
[os.path.join(os.sep, USER_CONFIG_PATH)])
elif not pretend and not autounmask_write and roots:
- writemsg("\nUse --autounmask-write to write changes to config files (honoring\n"
+ writemsg("\nUse --autounmask to write changes to config files (honoring\n"
"CONFIG_PROTECT). Carefully examine the list of proposed changes,\n"
"paying special attention to mask or keyword changes that may expose\n"
"experimental or unstable packages.\n",
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index 86c0c62..f450fa2 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -126,9 +126,9 @@ def insert_optional_args(args):
default_arg_opts = {
'--alert' : y_or_n,
'--ask' : y_or_n,
+ '--autounmask' : y_or_n,
'--autounmask-keep-masks': y_or_n,
'--autounmask-unrestricted-atoms' : y_or_n,
- '--autounmask-write' : y_or_n,
'--buildpkg' : y_or_n,
'--complete-graph' : y_or_n,
'--deep' : valid_integers,
@@ -313,6 +313,11 @@ def parse_opts(tmpcmdline, silent=False):
"choices" : true_y_or_n
},
+ "--autounmask": {
+ "help" : "automatically unmask packages",
+ "choices" : true_y_or_n
+ },
+
"--autounmask-unrestricted-atoms": {
"help" : "write autounmask changes with >= atoms if possible",
"choices" : true_y_or_n
@@ -323,11 +328,6 @@ def parse_opts(tmpcmdline, silent=False):
"choices" : true_y_or_n
},
- "--autounmask-write": {
- "help" : "write changes made by --autounmask to disk",
- "choices" : true_y_or_n
- },
-
"--accept-properties": {
"help":"temporarily override ACCEPT_PROPERTIES",
"action":"store"
@@ -687,15 +687,15 @@ def parse_opts(tmpcmdline, silent=False):
else:
myoptions.ask = None
+ if myoptions.autounmask in true_y:
+ myoptions.autounmask = True
+
if myoptions.autounmask_unrestricted_atoms in true_y:
myoptions.autounmask_unrestricted_atoms = True
if myoptions.autounmask_keep_masks in true_y:
myoptions.autounmask_keep_masks = True
- if myoptions.autounmask_write in true_y:
- myoptions.autounmask_write = True
-
if myoptions.buildpkg in true_y:
myoptions.buildpkg = True
--
1.8.5.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-portage-dev] [PATCH 3/4] emerge: Make --autounmask=y if --ask=y
2014-08-12 9:37 [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 1/4] emerge: Deprecate --autounmask Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 2/4] emerge: Rename --autounmask-write to --autounmask Alexander Berntsen
@ 2014-08-12 9:37 ` Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 4/4] emerge: Let --autounmask=n override other options Alexander Berntsen
2014-08-13 16:06 ` [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
4 siblings, 0 replies; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-12 9:37 UTC (permalink / raw
To: gentoo-portage-dev; +Cc: Alexander Berntsen
From: Alexander Berntsen <alexander@plaimi.net>
Signed-off-by: Alexander Berntsen <bernalex@gentoo.org>
---
man/emerge.1 | 9 +++++----
pym/_emerge/depgraph.py | 5 +++--
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/man/emerge.1 b/man/emerge.1
index be52f25..c52cd0a 100644
--- a/man/emerge.1
+++ b/man/emerge.1
@@ -345,10 +345,11 @@ Write required unmask changes to the relevant config files, respecting
\fBCONFIG_PROTECT\fR. If invoked together with \fB\-\-ask\fR, emerge will
prompt you to write the changes. If invoked along with \fB\-\-pretend\fR,
emerge will merely output the required changes and not make any of them by
-itself. If the corresponding package.* is a file, the changes are appended to
-it, if it is a directory, changes are written to the lexicographically last
-file. This way it is always ensured that the new changes take precedence over
-existing changes.
+itself. This option is enabled by default if are running emerge with
+\fB\-\-ask\fR or \fB\-\-pretend\fR, and disabled by default elsewise. If the
+corresponding package.* is a file, the changes are appended to it, if it is a
+directory, changes are written to the lexicographically last file. This way it
+is always ensured that the new changes take precedence over existing changes.
.TP
.BR "\-\-autounmask\-unrestricted\-atoms [ y | n ]"
Keyword and mask changes using the \'=\' operator will be written. With this
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 0c6b8e3..bfa63fa 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -7332,12 +7332,13 @@ class depgraph(object):
(using CONFIG_PROTECT). The message includes the comments and the changes.
"""
- autounmask_write = self._frozen_config.myopts.get("--autounmask", "n") == True
+ ask = "--ask" in self._frozen_config.myopts
+ autounmask_write = ask or \
+ self._frozen_config.myopts.get("--autounmask", "n") == True
autounmask_unrestricted_atoms = \
self._frozen_config.myopts.get("--autounmask-unrestricted-atoms", "n") == True
quiet = "--quiet" in self._frozen_config.myopts
pretend = "--pretend" in self._frozen_config.myopts
- ask = "--ask" in self._frozen_config.myopts
enter_invalid = '--ask-enter-invalid' in self._frozen_config.myopts
def check_if_latest(pkg):
--
1.8.5.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-portage-dev] [PATCH 4/4] emerge: Let --autounmask=n override other options
2014-08-12 9:37 [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
` (2 preceding siblings ...)
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 3/4] emerge: Make --autounmask=y if --ask=y Alexander Berntsen
@ 2014-08-12 9:37 ` Alexander Berntsen
2014-08-13 16:06 ` [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
4 siblings, 0 replies; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-12 9:37 UTC (permalink / raw
To: gentoo-portage-dev; +Cc: Alexander Berntsen
From: Alexander Berntsen <alexander@plaimi.net>
Signed-off-by: Alexander Berntsen <bernalex@gentoo.org>
---
pym/_emerge/depgraph.py | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index bfa63fa..37b3a54 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -418,7 +418,8 @@ class _dynamic_depgraph_config(object):
self._backtrack_infos = {}
self._buildpkgonly_deps_unsatisfied = False
- self._autounmask = True
+ self._autounmask = \
+ depgraph._frozen_config.myopts.get("--autounmask") != 'n'
self._success_without_autounmask = False
self._traverse_ignored_deps = False
self._complete_mode = False
@@ -7333,8 +7334,11 @@ class depgraph(object):
"""
ask = "--ask" in self._frozen_config.myopts
- autounmask_write = ask or \
- self._frozen_config.myopts.get("--autounmask", "n") == True
+ autounmask = self._frozen_config.myopts.get("--autounmask", "y")
+ # Write if *either* --autounmask is explicitly *true*, *or* if
+ # ask is *true* and --autounmask is *not* explicitly *false*
+ autounmask_write = autounmask is True or \
+ (autounmask != 'n'and ask != False)
autounmask_unrestricted_atoms = \
self._frozen_config.myopts.get("--autounmask-unrestricted-atoms", "n") == True
quiet = "--quiet" in self._frozen_config.myopts
--
1.8.5.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [gentoo-portage-dev] [PATCH 0/4] Autounmask changes
2014-08-12 9:37 [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
` (3 preceding siblings ...)
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 4/4] emerge: Let --autounmask=n override other options Alexander Berntsen
@ 2014-08-13 16:06 ` Alexander Berntsen
2014-08-13 16:45 ` Brian Dolbec
4 siblings, 1 reply; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-13 16:06 UTC (permalink / raw
To: gentoo-portage-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Evidently Michał was a bit sceptical. And anyway, I don't care too
much about these patches any longer. Maybe it comes with raising in
the ranks, but 2014 me is not particularly sympathetic of 2013 me and
his stupid patches. These days I just prefer fixing bugs and not
changing anything.
So on that note, if nobody objects, I suggest we just ignore the
autounmask refactor altogether. Instead I'll just make the actual
bugfix (make --ask imply --autounmask-write) a standalone patch which
I'll submit to the list. Sounds good to everyone?
- --
Alexander
bernalex@gentoo.org
https://secure.plaimi.net/~alexander
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iF4EAREIAAYFAlPrjSMACgkQRtClrXBQc7UbzgD+IrQtwow8PvZrRYJMGOc/RfgR
DtkIncGKQ75uHYEiQQcA/iYUsRLgVgYYm11DI6QIu0DQi1NGZNJ61/sB7WrICQz+
=ARIp
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-portage-dev] [PATCH 0/4] Autounmask changes
2014-08-13 16:06 ` [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
@ 2014-08-13 16:45 ` Brian Dolbec
2014-08-13 16:56 ` Alexander Berntsen
0 siblings, 1 reply; 12+ messages in thread
From: Brian Dolbec @ 2014-08-13 16:45 UTC (permalink / raw
To: gentoo-portage-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
On Wed, 13 Aug 2014 18:06:59 +0200
Alexander Berntsen <bernalex@gentoo.org> wrote:
> Evidently Michał was a bit sceptical. And anyway, I don't care too
> much about these patches any longer. Maybe it comes with raising in
> the ranks, but 2014 me is not particularly sympathetic of 2013 me and
> his stupid patches. These days I just prefer fixing bugs and not
> changing anything.
>
> So on that note, if nobody objects, I suggest we just ignore the
> autounmask refactor altogether. Instead I'll just make the actual
> bugfix (make --ask imply --autounmask-write) a standalone patch which
> I'll submit to the list. Sounds good to everyone?
> - --
> Alexander
> bernalex@gentoo.org
Actually, re-reading your patches again, your patches actually made
more sense to me finally. You were fixing it to make implied
behavior the actual behavior. So while I was originally objecting to
them, then was not opposing them (last time we discussed inclusion), I
now see them much clearer and agree with them.
The --ask implying --autounmask-write is something people would not
object to so strongly like they did to your original patchset.
- --
Brian Dolbec <dolsen>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQF8BAEBCgBmBQJT65YtXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ4Njg4RkQxQ0M3MUMxQzA0RUFFQTQyMzcy
MjE0RDkwQTAxNEYxN0NCAAoJECIU2QoBTxfLgYQIAL2ziseGyyepSZmHQkFUTuEh
cSgmc+Gm/JcUXXxHycJ9F2GGFBFiVlIsItyrOkzXDHzkJmXaJCg9dUgUYaJPVdE4
IK2wR9mwVi9kcJE0r7sBKhtj2yeUYajGxD85AHzQHqtcaZSnQ7DC2oqLS0ZyDg2B
nc+yks9HRdAczQrg3As/BVX4bwzD6irAKrfVAcdG0JeB2lVUodrZzON2r24qzzi7
lubgcnSyxQQ4Yot25H6rrKlsv1JQR7e9QSMlQQJJ6FhB5DzY6OsQua+/Daod60AP
LjqLA7zNL8DvzVFmWK/3GQSTdabBN/XBteTABJ1ZZY/EJi5IfP5PHYnbqvK27aY=
=2Pok
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-portage-dev] [PATCH 0/4] Autounmask changes
2014-08-13 16:45 ` Brian Dolbec
@ 2014-08-13 16:56 ` Alexander Berntsen
2014-08-13 17:59 ` [gentoo-portage-dev] " Duncan
0 siblings, 1 reply; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-13 16:56 UTC (permalink / raw
To: gentoo-portage-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 13/08/14 18:45, Brian Dolbec wrote:
> Actually, re-reading your patches again, your patches actually made
> more sense to me finally. You were fixing it to make implied
> behavior the actual behavior. So while I was originally objecting
> to them, then was not opposing them (last time we discussed
> inclusion), I now see them much clearer and agree with them.
>
> The --ask implying --autounmask-write is something people would not
> object to so strongly like they did to your original patchset.
Let's merge the bug fix (see the other thread) first. I can still
prepare the other patches if you think that's worthwhile, but I prefer
keeping them separated from that very simple bugfix patch.
One thing that needs discussion is what to do with the current
behaviour of --autounmask, i.e. printing the suggestions. One thing
that was really weird in my original patches (the ones in this thread)
is this:
emerge foo # this will do what --autounmask does today
emerge foo --autounmask # this will do what --autounmask-write does
emerge foo -a # this will do what --ask --autounmask-write does
emerge foo --autounmask=n # this will do what --autounmask=n does
The problem here is that there is no way to do e.g. emerge foo --ask,
and get suggestions any longer. You can either have it prompt to write
stuff, or you can have it not do anything -- but you can't explicitly
have it suggest stuff without prompting to write. This is bad design.
So either I need to implement tri-state (--autounmask can be yes, no,
suggest), or I need to do something more drastic.
Suggestions welcome.
- --
Alexander
bernalex@gentoo.org
https://secure.plaimi.net/~alexander
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iF4EAREIAAYFAlPrmLwACgkQRtClrXBQc7UBaQEAmdDIIApMb99GIM2UnPHmH6c2
IvuVynLLfbprR2WjdnEA/0czubzAIeGJPCbhQvEoHyb2BC3KSzWThaQVYFrvt05D
=5lOp
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-portage-dev] Re: [PATCH 0/4] Autounmask changes
2014-08-13 16:56 ` Alexander Berntsen
@ 2014-08-13 17:59 ` Duncan
2014-08-13 18:39 ` Alexander Berntsen
2014-08-13 19:24 ` Wyatt Epp
0 siblings, 2 replies; 12+ messages in thread
From: Duncan @ 2014-08-13 17:59 UTC (permalink / raw
To: gentoo-portage-dev
Alexander Berntsen posted on Wed, 13 Aug 2014 18:56:28 +0200 as excerpted:
> One thing that needs discussion is what to do with the current behaviour
> of --autounmask, i.e. printing the suggestions. One thing that was
> really weird in my original patches (the ones in this thread)
> is this:
>
> emerge foo # this will do what --autounmask does today
> emerge foo --autounmask # this will do what --autounmask-write does
> emerge foo -a # this will do what --ask --autounmask-write does
> emerge foo --autounmask=n # this will do what --autounmask=n does
>
> The problem here is that there is no way to do e.g. emerge foo --ask,
> and get suggestions any longer. You can either have it prompt to write
> stuff, or you can have it not do anything -- but you can't explicitly
> have it suggest stuff without prompting to write. This is bad design.
>
> So either I need to implement tri-state (--autounmask can be yes, no,
> suggest), or I need to do something more drastic.
This remains my problem with the patches as they are now.
* I don't want portage writing mask/use changes on its own under any
circumstances, as I use directories and have my own idea of what files I
want stuff in.
* Never-the-less, I find the suggestions very helpful and indeed, often
the easiest way to find out what I need to do.
* I routinely use --ask.
Currently, --ask assumes "yes" very easily, simply hit return, and I like
that behavior for simple merges as it's convenient and easily enough
undone. (With --oneshot by default as well, an errant enter is undone
easily enough with a --depclean.)
The patches as they are now would change that, giving me no way to still
get the suggestions with --ask, without chancing the actual write of
those changes. That's particularly bad as the currently convenient
behavior of letting a simple enter indicate yes makes it all too easy to
actually do those writes I don't want done under any circumstances.
While I'm fine with --ask defaulting to (the current) --autounmask-write
behavior by default, I need a way to get the current --ask --autounmask
(without write) behavior too, even if I need to add --autounmask=suggest
or some such to DEFAULTOPTS, because that's /my/ configuration's default
behavior, and I want it to stay that way. =:^)
So please do implement that tri-state --autounmask=suggest behavior. =:^)
The only other /possible/ objection I see is the potential version-
dependent confusion over --autounmask behavior. An argument could be
made that it might be better to simply kill the --autounmask switch, hard-
wiring that behavior, and keep the current --autounmask-write name,
simply making it the default while still allowing people to explicitly set
--autounmask-write=n.
That way, while the remaining --autounmask-write parameter would arguably
unnecessarily keep it's longer name, there could be no confusion over the
changing --autounmask behavior, since that parameter would simply cease
to exist.
But I don't feel strongly about that. If people think the confusion over
--autounmask changing meaning isn't as big a deal as saving those few
extra characters necessary for the longer -write variant, fine with me.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-portage-dev] Re: [PATCH 0/4] Autounmask changes
2014-08-13 17:59 ` [gentoo-portage-dev] " Duncan
@ 2014-08-13 18:39 ` Alexander Berntsen
2014-08-13 19:24 ` Wyatt Epp
1 sibling, 0 replies; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-13 18:39 UTC (permalink / raw
To: gentoo-portage-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 13/08/14 19:59, Duncan wrote:
> * I don't want portage writing mask/use changes on its own under
> any circumstances, as I use directories and have my own idea of
> what files I want stuff in.
It never has, and these patches never have implemented this. You
raised the same concerns a year ago, and they did not make sense then
either.
> The patches as they are now would change that, giving me no way to
> still get the suggestions with --ask, without chancing the actual
> write of those changes.
The patches do not do that.
> The only other /possible/ objection I see is the potential
> version- dependent confusion over --autounmask behavior.
This is one of the reasons I am kind of neutral on applying them at
all at this point.
> But I don't feel strongly about that.
Me neither.
- --
Alexander
bernalex@gentoo.org
https://secure.plaimi.net/~alexander
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iF4EAREIAAYFAlPrsN8ACgkQRtClrXBQc7W1HgEApAThYm9jvpGDOeoczC67/3eY
ORcLtHG2c6UGoI3mwhgBALHfnxR4qJk19c8KeDK4H7d/9+g0O45ZAr/Gdo5Wf2z5
=l15a
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-portage-dev] Re: [PATCH 0/4] Autounmask changes
2014-08-13 17:59 ` [gentoo-portage-dev] " Duncan
2014-08-13 18:39 ` Alexander Berntsen
@ 2014-08-13 19:24 ` Wyatt Epp
2014-08-13 19:39 ` Alexander Berntsen
1 sibling, 1 reply; 12+ messages in thread
From: Wyatt Epp @ 2014-08-13 19:24 UTC (permalink / raw
To: gentoo-portage-dev
On Wed, Aug 13, 2014 at 1:59 PM, Duncan <1i5t5.duncan@cox.net> wrote:
> Alexander Berntsen posted on Wed, 13 Aug 2014 18:56:28 +0200 as excerpted:
>>
>> emerge foo # this will do what --autounmask does today
>> emerge foo --autounmask # this will do what --autounmask-write does
>> emerge foo -a # this will do what --ask --autounmask-write does
>> emerge foo --autounmask=n # this will do what --autounmask=n does
>>
>> The problem here is that there is no way to do e.g. emerge foo --ask,
>> and get suggestions any longer. You can either have it prompt to write
>> stuff, or you can have it not do anything -- but you can't explicitly
>> have it suggest stuff without prompting to write. This is bad design.
>>
Is there really any situation where the user would benefit from not
having the suggestions? That's sort of rhetorical because it's on by
default, but the point is more that Portage already takes a rather
proactive stance with regard to informing the user about the details
of slot and version conflicts; what's a few more lines? (And if that
IS, indeed, a problem, there's always --quiet.)
Regardless of that, writing keywords as a side-effect of --ask is not
a good path. My personal suggestion would instead be that
--autounmask only do exactly what it says: automatically resolve
minimum keywords needed to merge the depgraph and put them where they
need to be. When used in conjunction with --ask, it would then tell
you "These atoms will be appended to package.keywords" or whatever
file it chooses. Unfortunately historical baggage may prevent that,
but it's a nice thought.
> * I don't want portage writing mask/use changes on its own under any
> circumstances, as I use directories and have my own idea of what files I
> want stuff in.
>
I have this same issue as I give every category its own file. Can we
generalise this in such a way that finer-grained control over write
location could be added? (Off the top of my head, I'm imagining
passing the atom through something like a FILE_REGEX or maybe an
optional script parameter, and the output is the filename within
package.keywords/)
-Wyatt
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-portage-dev] Re: [PATCH 0/4] Autounmask changes
2014-08-13 19:24 ` Wyatt Epp
@ 2014-08-13 19:39 ` Alexander Berntsen
0 siblings, 0 replies; 12+ messages in thread
From: Alexander Berntsen @ 2014-08-13 19:39 UTC (permalink / raw
To: gentoo-portage-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 13/08/14 21:24, Wyatt Epp wrote:
> Is there really any situation where the user would benefit from
> not having the suggestions?
floppym complained about how he needed the ability to turn them
completely off like this -- hence patch 4.
> Regardless of that, writing keywords as a side-effect of --ask is
> not a good path.
Again -- the patches don't do this. They never have. This behaviour
will never be implemented.
Please read the man page for what --autounmask and --autounmask-write
actually do.
- --
Alexander
bernalex@gentoo.org
https://secure.plaimi.net/~alexander
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iF4EAREIAAYFAlPrvugACgkQRtClrXBQc7XMLQD+K0Q802YNCwgvXmVxq07PPa61
ZmD+L1NEjvQRNe+6Pl8BALgX28WQDCNHaJfq2d24tITAs0QdwtyS2DungG0mk25W
=rBrU
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-08-13 19:39 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-12 9:37 [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 1/4] emerge: Deprecate --autounmask Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 2/4] emerge: Rename --autounmask-write to --autounmask Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 3/4] emerge: Make --autounmask=y if --ask=y Alexander Berntsen
2014-08-12 9:37 ` [gentoo-portage-dev] [PATCH 4/4] emerge: Let --autounmask=n override other options Alexander Berntsen
2014-08-13 16:06 ` [gentoo-portage-dev] [PATCH 0/4] Autounmask changes Alexander Berntsen
2014-08-13 16:45 ` Brian Dolbec
2014-08-13 16:56 ` Alexander Berntsen
2014-08-13 17:59 ` [gentoo-portage-dev] " Duncan
2014-08-13 18:39 ` Alexander Berntsen
2014-08-13 19:24 ` Wyatt Epp
2014-08-13 19:39 ` Alexander Berntsen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox