[gentoo-dev] Re: [gentoo-dev-announce] lastrite; dev-python/cl
On Thu, 12 Feb 2015 14:46:41 +0800 IAN DELANEY idel...@gentoo.org wrote: # Ian Delaney idel...@gentoo.org (12 Feb 2015) # upstream found to be dead, hash values now fail, # no longer has relevance, masked for removal in 30 days app-office/openerp-client app-office/openerp-server app-office/openerp-web Something went wrong here. What is the relation between dev-python/cl and these three? jer
[gentoo-portage-dev] cross-emerge --buildpkg with portage 2.2.17 ?
Either I have forgot to how to build binary pkgs when cross building(via crossdev) or there is a bug in portage. Anyone on this list doing cross builds ? Does --buildpkg work for you? Jocke
[gentoo-portage-dev] [PATCH v2] Add another check for broken /dev/s (bug 538980)
Signed-off-by: Alexander Berntsen berna...@gentoo.org Suggested-by: Zac Medico zmed...@gentoo.org --- Forgot Suggested-by. pym/_emerge/main.py | 9 + 1 file changed, 9 insertions(+) diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index f1a9e18..84094ae 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1114,6 +1114,15 @@ def emerge_main(args=None): level=logging.ERROR, noiselevel=-1) return 1 + # Verify that BASH process substitution works as another cheap early + # filter. Process substitution uses '/dev/fd'. + if portage.process.spawn_bash([[ $( (echo foo) ) == foo ]]) != 0: + writemsg_level(Failed to validate a sane '/dev'.\n +bash process substitution doesn't work; this may be an +indication of a broken '/dev/fd'.\n, +level=logging.ERROR, noiselevel=-1) + return 1 + # Portage needs to ensure a sane umask for the files it creates. os.umask(0o22) emerge_config = load_emerge_config( -- 2.0.5
[gentoo-portage-dev] [PATCH] Add another check for broken /dev/s (bug 538980)
Signed-off-by: Alexander Berntsen berna...@gentoo.org --- pym/_emerge/main.py | 9 + 1 file changed, 9 insertions(+) diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index f1a9e18..84094ae 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1114,6 +1114,15 @@ def emerge_main(args=None): level=logging.ERROR, noiselevel=-1) return 1 + # Verify that BASH process substitution works as another cheap early + # filter. Process substitution uses '/dev/fd'. + if portage.process.spawn_bash([[ $( (echo foo) ) == foo ]]) != 0: + writemsg_level(Failed to validate a sane '/dev'.\n +bash process substitution doesn't work; this may be an +indication of a broken '/dev/fd'.\n, +level=logging.ERROR, noiselevel=-1) + return 1 + # Portage needs to ensure a sane umask for the files it creates. os.umask(0o22) emerge_config = load_emerge_config( -- 2.0.5
Re: [gentoo-portage-dev] [PATCH v2] Add early check for broken /dev/s (bug 538980)
On 02/13/2015 10:11 AM, Alexander Berntsen wrote: Signed-off-by: Alexander Berntsen berna...@gentoo.org Suggested-by: Zac Medico zmed...@gentoo.org --- Add some output. Use the more backwards compatible OSError instead of FileNotFoundError. pym/_emerge/main.py | 14 ++ 1 file changed, 14 insertions(+) diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index 5d5e936..f1a9e18 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1100,6 +1100,20 @@ def emerge_main(args=None): # loading to allow new repos with non-existent directories portage._sync_mode = True + # Verify that /dev/null exists and is a device file as a cheap early + # filter for obviously broken /dev/s. + try: + if os.stat(os.devnull).st_rdev == 0: + writemsg_level(Failed to validate a sane '/dev'.\n + '/dev/null' is not a device file.\n, + level=logging.ERROR, noiselevel=-1) + return 1 + except OSError: + writemsg_level(Failed to validate a sane '/dev'.\n + '/dev/null' does not exist.\n, + level=logging.ERROR, noiselevel=-1) + return 1 + # Portage needs to ensure a sane umask for the files it creates. os.umask(0o22) emerge_config = load_emerge_config( LGTM. We should also test that bash process substitution works, as noted in bug 538980. -- Thanks, Zac
[gentoo-portage-dev] [PATCH 2/2 v2] depgraph: soname dependency resolution (282639)
Soname dependency resolution is disabled by default, since it will not work correctly unless all available installed and binary packages have been built by a version of portage which generates REQUIRES and PROVIDES metadata. Soname dependency resolution is enabled when --ignore-soname-deps=n is specified, and one of the following is true: * --usepkgonly option is enabled * removal actions (--depclean and --prune) Soname dependencies are automatically ignored for dependency calculations that can pull unbuilt ebuilds into the dependency graph, since unbuilt ebuilds do not have any soname dependency metadata, making it impossible to determine whether an unresolved soname dependency can be satisfied. Therefore, --usepkgonly must be used in order to enable soname depedency resolution when installing packages. A new soname.provided file is supported for profiles, making it possible to selectively ignore soname dependencies (see the portage(5) man page). When soname dependency resolution is enabled, the soname dependencies are represented as SonameAtom instances which expose an interface that is minimally compatible with Atom instances. This allows both types of atoms to be satisfied using mostly the same mechanisms, with minimal use of conditional logic to handle the differences. Both atom classes have soname and package attributes that make it convenient for conditional code to distinguish package atoms and soname atoms. Both classes also implement a match method, so that it is possible to match a Package instance using identical syntax for both types of atoms. Since soname dependencies and slot-operator := dependencies share many properties, the slot-operator rebuild code has been generalized to handle both types of dependencies. Many of the existing unit tests involving slot-operator dependencies have been copied and adapted to test soname dependencies (the new tests are located in the pym/portage/tests/resolver/soname/ directory). X-Gentoo-Bug: 282639 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=282639 --- PATCH 2/2 v2 fixes depgraph._iter_match_pkgs_soname to yield packages in descending order. man/emerge.1 | 13 + man/portage.5 | 23 ++ pym/_emerge/FakeVartree.py | 16 +- pym/_emerge/Package.py | 55 +++- pym/_emerge/actions.py | 9 +- pym/_emerge/create_depgraph_params.py | 6 + pym/_emerge/create_world_atom.py | 6 +- pym/_emerge/depgraph.py| 347 +++-- pym/_emerge/main.py| 10 + pym/_emerge/resolver/DbapiProvidesIndex.py | 101 ++ pym/_emerge/resolver/output.py | 10 +- pym/_emerge/resolver/package_tracker.py| 42 ++- pym/_emerge/resolver/slot_collision.py | 35 ++- pym/portage/dbapi/DummyTree.py | 16 + pym/portage/dep/__init__.py| 25 ++ pym/portage/dep/soname/SonameAtom.py | 72 + pym/portage/dep/soname/parse.py| 47 +++ pym/portage/package/ebuild/config.py | 13 + pym/portage/tests/resolver/ResolverPlayground.py | 3 + pym/portage/tests/resolver/soname/__init__.py | 2 + pym/portage/tests/resolver/soname/__test__.py | 2 + .../tests/resolver/soname/test_autounmask.py | 103 ++ pym/portage/tests/resolver/soname/test_depclean.py | 61 .../tests/resolver/soname/test_downgrade.py| 240 ++ .../tests/resolver/soname/test_or_choices.py | 92 ++ .../tests/resolver/soname/test_reinstall.py| 87 ++ .../tests/resolver/soname/test_skip_update.py | 86 + .../soname/test_slot_conflict_reinstall.py | 342 .../resolver/soname/test_slot_conflict_update.py | 117 +++ .../tests/resolver/soname/test_soname_provided.py | 78 + .../tests/resolver/soname/test_unsatisfiable.py| 71 + .../tests/resolver/soname/test_unsatisfied.py | 87 ++ pym/portage/tests/resolver/test_package_tracker.py | 4 +- 33 files changed, 2099 insertions(+), 122 deletions(-) create mode 100644 pym/_emerge/resolver/DbapiProvidesIndex.py create mode 100644 pym/portage/dbapi/DummyTree.py create mode 100644 pym/portage/dep/soname/SonameAtom.py create mode 100644 pym/portage/dep/soname/parse.py create mode 100644 pym/portage/tests/resolver/soname/__init__.py create mode 100644 pym/portage/tests/resolver/soname/__test__.py create mode 100644 pym/portage/tests/resolver/soname/test_autounmask.py create mode 100644 pym/portage/tests/resolver/soname/test_depclean.py create mode 100644 pym/portage/tests/resolver/soname/test_downgrade.py create mode 100644 pym/portage/tests/resolver/soname/test_or_choices.py create mode 100644
[gentoo-portage-dev] [PATCH] Add early check for broken /dev/s (bug 538980)
Signed-off-by: Alexander Berntsen berna...@gentoo.org Suggested-by: Zac Medico zmed...@gentoo.org --- pym/_emerge/main.py | 8 1 file changed, 8 insertions(+) diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index 5d5e936..1b9bb0a 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1100,6 +1100,14 @@ def emerge_main(args=None): # loading to allow new repos with non-existent directories portage._sync_mode = True + # Verify that /dev/null exists and is a device file as a cheap early + # filter for obviously broken /dev/s. + try: + if os.stat(os.devnull).st_rdev == 0: + return 1 + except FileNotFoundError: + return 1 + # Portage needs to ensure a sane umask for the files it creates. os.umask(0o22) emerge_config = load_emerge_config( -- 2.0.5
[gentoo-portage-dev] [PATCH v2] Add early check for broken /dev/s (bug 538980)
Signed-off-by: Alexander Berntsen berna...@gentoo.org Suggested-by: Zac Medico zmed...@gentoo.org --- Add some output. Use the more backwards compatible OSError instead of FileNotFoundError. pym/_emerge/main.py | 14 ++ 1 file changed, 14 insertions(+) diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index 5d5e936..f1a9e18 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1100,6 +1100,20 @@ def emerge_main(args=None): # loading to allow new repos with non-existent directories portage._sync_mode = True + # Verify that /dev/null exists and is a device file as a cheap early + # filter for obviously broken /dev/s. + try: + if os.stat(os.devnull).st_rdev == 0: + writemsg_level(Failed to validate a sane '/dev'.\n + '/dev/null' is not a device file.\n, + level=logging.ERROR, noiselevel=-1) + return 1 + except OSError: + writemsg_level(Failed to validate a sane '/dev'.\n +'/dev/null' does not exist.\n, +level=logging.ERROR, noiselevel=-1) + return 1 + # Portage needs to ensure a sane umask for the files it creates. os.umask(0o22) emerge_config = load_emerge_config( -- 2.0.5
Re: [gentoo-portage-dev] [PATCH] Add another check for broken /dev/s (bug 538980)
On 02/13/2015 10:39 AM, Alexander Berntsen wrote: Signed-off-by: Alexander Berntsen berna...@gentoo.org --- pym/_emerge/main.py | 9 + 1 file changed, 9 insertions(+) diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index f1a9e18..84094ae 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1114,6 +1114,15 @@ def emerge_main(args=None): level=logging.ERROR, noiselevel=-1) return 1 + # Verify that BASH process substitution works as another cheap early + # filter. Process substitution uses '/dev/fd'. + if portage.process.spawn_bash([[ $( (echo foo) ) == foo ]]) != 0: + writemsg_level(Failed to validate a sane '/dev'.\n + bash process substitution doesn't work; this may be an + indication of a broken '/dev/fd'.\n, + level=logging.ERROR, noiselevel=-1) + return 1 + # Portage needs to ensure a sane umask for the files it creates. os.umask(0o22) emerge_config = load_emerge_config( LGTM. -- Thanks, Zac
Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in games-board/stockfish: stockfish-6.ebuild metadata.xml Manifest ChangeLog
Rich Freeman: On Wed, Feb 11, 2015 at 2:15 PM, hasufell hasuf...@gentoo.org wrote: A team is clearly violating GLEP39 and you don't care: When did I claim to not care? That's my interpretation of the council mocking those who have brought up issues by saying: * we cannot hold votes, because no one wants to join To me it sounds like an excuse, because you really were unable to make them actually do a vote. It may have one or many leads, and the leads are selected by the members of the project. This selection must occur at least once every 12 months, and may occur at any time. Instead we are getting tree inconsistency, because people start to ignore the team. That is the worst that could happen. You clearly lack imagination. There are many things that could happen that are far worse than this. Gentoo not having anybody maintaining any games would be a worse outcome, for starters. What punishment would you deem appropriate for a team not following GLEP39? We could disband it, but we're not in any hurry to do so, because we're not convinced that doing this will make things any better. I don't need imagination to see that it can't get worse. There is pretty much only one active member left and some who commit a few things all 3-5 months. But I'm not going to repeat things. If you think everything will break and people will stop working on gentoo if you fix a dysfunctional project, then let me tell you that this already happens... things break right now and people stop working on gentoo (or at least some areas of it) right now. This isn't even a big deal... but because you are incapable of action you are making it one. Maybe the solution is point 3 of GLEP39 under the rationale section: If the council does a lousy job handling global issues (or has no global vision), vote out the bums Which would be why I've encouraged you to run for Council a few times now if you think you'll do better. I'm not going to apologize for being elected. If you really think that games.eclass is the hill we should all be dying on, you can put that in your manifesto. I think the urgent part of the crisis was dealt with (a conflict between individual maintainers and the games team, and a concern that people couldn't join the games team even if they wanted to). We can afford to take our time to deal with the rest, and it is best left to those who actually care about the issue. Nothing was dealt with. You just told people they should go ahead ignoring a dysfunctional team (but you called it positively everyone may commit games to the tree or somesuch). If you think that is a solution, then that's exactly what gentoo will be dying on. And no, this isn't the only incident that shows this way of thinking. The others went similarly bad.
Re: [gentoo-portage-dev] Re: [PATCH 2/2 v2] depgraph: soname dependency resolution (282639)
On 02/13/2015 07:03 PM, Duncan wrote: Zac Medico posted on Fri, 13 Feb 2015 10:35:09 -0800 as excerpted: Soname dependency resolution is enabled when --ignore-soname-deps=n is specified, and [...] Can that option possibly be renamed? Ignore is functionally a negative, as in don't consider. As a result, --ignore-sonames-deps=n is a double-negative that actually enables something, and it becomes rather difficult to reason about what you're actually telling portage to do. Unfortunately, I'm confused enough myself that I don't have any suggestions for any better option name. =:^( Well, the ignore prefix is there to express that something is being ignored. In a couple of years, we'll be able to enable soname dependency resolution by default, and the --ignore-soname-deps=y option will be there for people to use in rare cases where it might be helpful (like on outdated systems where soname metadata isn't available for installed packages). In case there's any doubt about how much trouble English speakers often have with multiple negation, I follow a linguists blog called LanguageLog, that regularly features examples of misnegation, in which all sorts of people have ended up saying the opposite of what they obviously intended because of an incorrect number of negations. People really do have trouble sorting it out, and some of the examples are actually quite humorous. Here's a google on misnegation. At least from here, the top three hits are Language log, with #3 being a big list of posts on the topic. https://www.google.com/search?q=misnegationie=UTF-8 And here's one of the more amusing ones, a billboard at a(n apparently UK) petrol/gas station: http://languagelog.ldc.upenn.edu/nll/?p=14927 (FWIW, I recently emailed the author of a popular FLOSS community standards blog about a misnegation as well. He fixed it, and sent me a nice reply/thanks.) So, umm... Let's come up with some other option name here, one that doesn't invoke multiple negation to turn ON a function, and thus hurt to think about, if at all possible. =:^/ Tho arguably with the double negation turning something ON, at least we're not misnegating here. It's confusing and hard to think about, but AFAICT, logically correct. =:^) Of course that doesn't mean people can actually /use/ it correctly, thus the problem. =:^\ I see what you mean, but I still think having ignore in then name is a good way to express the meaning. It's similar to the --nodeps option, which also begins with a negative. -- Thanks, Zac