[gentoo-dev] Creative Commons 4.0 licenses

2013-11-28 Thread Ulrich Mueller
Creative Commons have released version 4.0 of their licenses:
http://creativecommons.org/weblog/entry/40768

So watch out for updated license terms when doing a version bump
of your packages.

Ulrich



Re: [gentoo-dev] logging in openntpd 20080406-r3+

2013-11-28 Thread Rich Freeman
On Wed, Nov 27, 2013 at 10:56 PM, Paul B. Henson hen...@acm.org wrote:
 On Fri, Nov 22, 2013 at 09:36:38PM +0100, Peter Stuge wrote:
 Paul B. Henson wrote:
  In openntpd ebuilds starting with version  20080406-r3, logging was changed
  from using the default standard syslog to running the daemon in debug mode,
  logging to stderr, and having start_stop_daemon background the process
  itself and redirect the output to a log file.
 
  I think this is broken.

 Yes, I think it is really f-ing broken too.

 Well, looks like it's just you and me in that camp :(, quite
 disappointing no other devs stepped up with an opinion on this. Guess
 I'll just fix this in my local overlay and the rest of the users can
 fend for themselves.

Did anybody actually talk to the maintainer about this and ask why
this was done?  That would probably be a good first step if you want
it to change.  Having 47 devs agree with you doesn't really accomplish
much if none of them care to maintain the package in question.

Also, you can always publish your overlay.  :)

Rich



Re: [gentoo-dev] logging in openntpd 20080406-r3+

2013-11-28 Thread Christoph Junghans
2013/11/28 Rich Freeman ri...@gentoo.org:
 On Wed, Nov 27, 2013 at 10:56 PM, Paul B. Henson hen...@acm.org wrote:
 On Fri, Nov 22, 2013 at 09:36:38PM +0100, Peter Stuge wrote:
 Paul B. Henson wrote:
  In openntpd ebuilds starting with version  20080406-r3, logging was 
  changed
  from using the default standard syslog to running the daemon in debug 
  mode,
  logging to stderr, and having start_stop_daemon background the process
  itself and redirect the output to a log file.
 
  I think this is broken.

 Yes, I think it is really f-ing broken too.

 Well, looks like it's just you and me in that camp :(, quite
 disappointing no other devs stepped up with an opinion on this. Guess
 I'll just fix this in my local overlay and the rest of the users can
 fend for themselves.

 Did anybody actually talk to the maintainer about this and ask why
 this was done?  That would probably be a good first step if you want
 it to change.  Having 47 devs agree with you doesn't really accomplish
 much if none of them care to maintain the package in question.
Paul talked to me via the bug tracker, bug 491134, and due to
discussion we had there openntpd-20080406-r5 features a use flag to
bring back syslog support (for details see the bug). This allows to
run openntpd with two different ways of logging, via syslog (like Paul
wants) and with a separate log file to avoid boot delays (like djc
wants). We could easily make syslog logging the default, like
polynomial-c suggested in another thread, but syslog is enabled in
most profiles by default anyway.


 Also, you can always publish your overlay.  :)

 Rich




-- 
Christoph Junghans
http://dev.gentoo.org/~ottxor/



Re: [gentoo-dev] logging in openntpd 20080406-r3+

2013-11-28 Thread Paul B. Henson
On Thu, Nov 28, 2013 at 08:55:56AM -0700, Christoph Junghans wrote:

 run openntpd with two different ways of logging, via syslog (like Paul
 wants) and with a separate log file to avoid boot delays (like djc
 wants). We could easily make syslog logging the default, like

My point is that running in debug mode to avoid boot delays is broken.
As I've explained, the delays come about because the user explicitly
requested that openntpd set the time at start up. Don't use the -s
option, no boot delay. The option to run in debug mode with a hardcoded
log file just shouldn't exist at all. It actually breaks the -s option,
as openntpd is backgrounded before it can set the time, and other
processes potentially start without a valid time.

From my testing, the boot delay is capped at 15 seconds anyway. If
people are experiencing longer delays, the solution is to track down the
bug that's causing the delay to exceed the 15 second timeout, not to
kludge around it. If someone can provide a configuration that reliably
reproduces a delay longer than 15 seconds, I've offered to look into it.




Re: [gentoo-dev] logging in openntpd 20080406-r3+

2013-11-28 Thread Paul B. Henson
On Thu, Nov 28, 2013 at 06:48:30AM -0500, Rich Freeman wrote:

 Having 47 devs agree with you doesn't really accomplish
 much if none of them care to maintain the package in question.

Well, I would kinda hope that if 47 devs told 1 dev they were making a
poor design decision, that 1 dev would reconsider their position...

So, do you have any opinion on running a daemon in the foreground in
debug mode with stderr hardcoded to a specific file then backgrounding it
at the service start level to work around a delay issue caused by the
user explicitly requesting that the daemon perform an operation prior to
backgrounding itself?




Re: [gentoo-dev] logging in openntpd 20080406-r3+

2013-11-28 Thread Anders Thomson
If you pip stdout/stderr to a file, how does that interact with log rotation?

-A
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

[gentoo-portage-dev] [PATCH] Another slot operator bug (bug 486580, try 2)

2013-11-28 Thread SebastianLuther
From: Sebastian Luther sebastianlut...@gmx.de

This time rebuilds are scheduled properly, but we
might still forget to install the package that caused
the rebuild.

URL: https://bugs.gentoo.org/486580
---
 pym/_emerge/depgraph.py| 30 ++-
 .../tests/resolver/test_slot_conflict_rebuild.py   | 63 ++
 2 files changed, 91 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index da2e604..0f8f76d 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2356,6 +2356,18 @@ class depgraph(object):
# discarded here. Try to discard as few as possible 
since
# discarded dependencies reduce the amount of 
information
# available for optimization of merge order.
+   # Don't ignore dependencies if pkg as a slot operator 
dependency on the child
+   # and the child has changed slot/sub_slot
+   slot_operator_rebuild = False
+   if atom.slot_operator == '=' and \
+   (pkg.root, pkg.slot_atom) in 
self._dynamic_config._slot_operator_replace_installed and \
+   mypriority.satisfied and \
+   mypriority.satisfied is not child and \
+   mypriority.satisfied.installed and \
+   not child.installed and \
+   (child.slot != mypriority.satisfied.slot or 
child.sub_slot != mypriority.satisfied.sub_slot):
+   slot_operator_rebuild = True
+
ignored = False
if not atom.blocker and \
not recurse_satisfied and \
@@ -2364,7 +2376,8 @@ class depgraph(object):
dep.child is not None and \
not dep.child.installed and \

self._dynamic_config._slot_pkg_map[dep.child.root].get(
-   dep.child.slot_atom) is None:
+   dep.child.slot_atom) is None and \
+   not slot_operator_rebuild:
myarg = None
try:
myarg = 
next(self._iter_atoms_for_pkg(dep.child), None)
@@ -2466,6 +2479,18 @@ class depgraph(object):
parent=virt_pkg, priority=mypriority, 
root=dep_root,
collapsed_parent=pkg, 
collapsed_priority=dep_priority)
 
+   # Don't ignore dependencies if pkg as a slot 
operator dependency on the child
+   # and the child has changed slot/sub_slot
+   slot_operator_rebuild = False
+   if atom.slot_operator == '=' and \
+   (pkg.root, pkg.slot_atom) in 
self._dynamic_config._slot_operator_replace_installed and \
+   mypriority.satisfied and \
+   mypriority.satisfied is not child and \
+   mypriority.satisfied.installed and \
+   not child.installed and \
+   (child.slot != 
mypriority.satisfied.slot or child.sub_slot != mypriority.satisfied.sub_slot):
+   slot_operator_rebuild = True
+
ignored = False
if not atom.blocker and \
not recurse_satisfied and \
@@ -2474,7 +2499,8 @@ class depgraph(object):
dep.child is not None and \
not dep.child.installed and \

self._dynamic_config._slot_pkg_map[dep.child.root].get(
-   dep.child.slot_atom) is None:
+   dep.child.slot_atom) is None and \
+   not slot_operator_rebuild:
myarg = None
try:
myarg = 
next(self._iter_atoms_for_pkg(dep.child), None)
diff --git a/pym/portage/tests/resolver/test_slot_conflict_rebuild.py 
b/pym/portage/tests/resolver/test_slot_conflict_rebuild.py
index 74f5cc1..e3c517d 100644
--- a/pym/portage/tests/resolver/test_slot_conflict_rebuild.py
+++ b/pym/portage/tests/resolver/test_slot_conflict_rebuild.py
@@ -181,6 +181,69 @@ class SlotConflictRebuildTestCase(TestCase):
finally:
playground.cleanup()
 
+   def testSlotConflictForgottenChild(self):
+

[gentoo-portage-dev] [PATCH] Another slot operator bug (bug 486580, try 2)

2013-11-28 Thread SebastianLuther
From: Sebastian Luther sebastianlut...@gmx.de

This time rebuilds are scheduled properly, but we
might still forget to install the package that caused
the rebuild.

URL: https://bugs.gentoo.org/486580
---
 pym/_emerge/depgraph.py| 48 +++--
 .../tests/resolver/test_slot_conflict_rebuild.py   | 63 ++
 2 files changed, 95 insertions(+), 16 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index da2e604..0a998b5 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2268,6 +2268,36 @@ class depgraph(object):
finally:
self._dynamic_config._autounmask = _autounmask_backup
 
+   def _ignore_dependency(self, atom, pkg, child, dep, mypriority, 
recurse_satisfied):
+   
+   In some cases, dep_check will return deps that shouldn't
+   be proccessed any further, so they are identified and
+   discarded here. Try to discard as few as possible since
+   discarded dependencies reduce the amount of information
+   available for optimization of merge order.
+   Don't ignore dependencies if pkg has a slot operator dependency 
on the child
+   and the child has changed slot/sub_slot.
+   
+   slot_operator_rebuild = False
+   if atom.slot_operator == '=' and \
+   (pkg.root, pkg.slot_atom) in 
self._dynamic_config._slot_operator_replace_installed and \
+   mypriority.satisfied and \
+   mypriority.satisfied is not child and \
+   mypriority.satisfied.installed and \
+   not child.installed and \
+   (child.slot != mypriority.satisfied.slot or 
child.sub_slot != mypriority.satisfied.sub_slot):
+   slot_operator_rebuild = True
+
+   return not atom.blocker and \
+   not recurse_satisfied and \
+   mypriority.satisfied and \
+   mypriority.satisfied.visible and \
+   dep.child is not None and \
+   not dep.child.installed and \
+   self._dynamic_config._slot_pkg_map[dep.child.root].get(
+   dep.child.slot_atom) is None and \
+   not slot_operator_rebuild
+
def _wrapped_add_pkg_dep_string(self, pkg, dep_root, dep_priority,
dep_string, allow_unsatisfied):
depth = pkg.depth + 1
@@ -2357,14 +2387,7 @@ class depgraph(object):
# discarded dependencies reduce the amount of 
information
# available for optimization of merge order.
ignored = False
-   if not atom.blocker and \
-   not recurse_satisfied and \
-   mypriority.satisfied and \
-   mypriority.satisfied.visible and \
-   dep.child is not None and \
-   not dep.child.installed and \
-   
self._dynamic_config._slot_pkg_map[dep.child.root].get(
-   dep.child.slot_atom) is None:
+   if self._ignore_dependency(atom, pkg, child, dep, 
mypriority, recurse_satisfied):
myarg = None
try:
myarg = 
next(self._iter_atoms_for_pkg(dep.child), None)
@@ -2467,14 +2490,7 @@ class depgraph(object):
collapsed_parent=pkg, 
collapsed_priority=dep_priority)
 
ignored = False
-   if not atom.blocker and \
-   not recurse_satisfied and \
-   mypriority.satisfied and \
-   mypriority.satisfied.visible and \
-   dep.child is not None and \
-   not dep.child.installed and \
-   
self._dynamic_config._slot_pkg_map[dep.child.root].get(
-   dep.child.slot_atom) is None:
+   if self._ignore_dependency(atom, pkg, child, 
dep, mypriority, recurse_satisfied):
myarg = None
try:
myarg = 
next(self._iter_atoms_for_pkg(dep.child), None)
diff --git a/pym/portage/tests/resolver/test_slot_conflict_rebuild.py 
b/pym/portage/tests/resolver/test_slot_conflict_rebuild.py
index 74f5cc1..e3c517d 100644
--- a/pym/portage/tests/resolver/test_slot_conflict_rebuild.py
+++ 

Re: [gentoo-portage-dev] [PATCH] Another slot operator bug (bug 486580, try 2)

2013-11-28 Thread Sebastian Luther
Please ignore this one.

I reorganized these large duplicated if's as suggested by dol-sen on IRC
in a new version of this patch.



Re: [gentoo-portage-dev] [PATCH] Another slot operator bug (bug 486580, try 2)

2013-11-28 Thread Brian Dolbec
On Thu, 2013-11-28 at 20:36 +0100, Sebastian Luther wrote:
 Am 28.11.2013 15:47, schrieb Brian Dolbec:
  I like this one much better, thank you.
  
  Could you rebase the 2 patches together, this one shows removing
  lines from the first.  Also see inline comments below :)
 
 The removed lines are another large if-block that already existed.
 This has been moved into _ignore_dependency() too.
 

Hey, all the more reason to move it to a function, that would have been
4 copies of the same check otherwise.  Now it can be edited in one place
to change behavior, and do it consistently the same.

  
  On Thu, 2013-11-28 at 11:34 +0100, sebastianlut...@gmx.de wrote:
  From: Sebastian Luther sebastianlut...@gmx.de
...

  Since slot_operator_rebuild is already set either true or false,
  would it be better if not slot_operator_rebuild is first in the
  return statement.  If it resolves False, it will be an early out
  for the remaining checks.  Personally I don't know which is the
  more common case.  But if it resolve False more often, it will be a
  slight speed improvement.  That goes for the rest of them too, they
  should be ordered in the most often to resolve False order.  Same
  for the if as well.
 
 This should be more often False than True. recurse_satisfied in the
 second block should be more often True than False.
 
 In fact there's some duplication between the two blocks. Feel free to
 clean this up after it has been pushed.
 

OK, thanks, I'll look to see if it can be optimized a little more.


signature.asc
Description: This is a digitally signed message part