From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-dev+bounces-48871-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1RXOrp-0004tQ-R2
	for garchives@archives.gentoo.org; Mon, 05 Dec 2011 03:05:22 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 49BB721C040;
	Mon,  5 Dec 2011 03:05:04 +0000 (UTC)
Received: from mail-gx0-f181.google.com (mail-gx0-f181.google.com [209.85.161.181])
	by pigeon.gentoo.org (Postfix) with ESMTP id D20EA21C022
	for <gentoo-dev@lists.gentoo.org>; Mon,  5 Dec 2011 03:04:10 +0000 (UTC)
Received: by ggnr1 with SMTP id r1so5420478ggn.40
        for <gentoo-dev@lists.gentoo.org>; Sun, 04 Dec 2011 19:04:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-type:content-disposition:in-reply-to:user-agent;
        bh=NfvClmhj9DOW0QyiGu5jL2SOUdFzL198qCz5YfjpiP8=;
        b=NCoHi0O6taeFknmsspxtIk5Slz0w3S8ILB19gQ5WhLH3HBsyj/7ptfQOLvEDhbV5sD
         2AZAZNpq/JhjcxRqCvEqrHuyYE3qMz1q/hHmRZV+On/Ai24eVnD9rRim/eNHXChPT7mP
         pLXbWMn5gcTREzUd4Mx1g2zgVqsz5wuFrvmHM=
Received: by 10.50.42.199 with SMTP id q7mr8269847igl.41.1323054250054;
        Sun, 04 Dec 2011 19:04:10 -0800 (PST)
Received: from smtp.gmail.com:587 ([2620:0:1000:fd10:224:d7ff:feae:c014])
        by mx.google.com with ESMTPS id ee6sm25562321igc.6.2011.12.04.19.04.07
        (version=TLSv1/SSLv3 cipher=OTHER);
        Sun, 04 Dec 2011 19:04:08 -0800 (PST)
Received: by smtp.gmail.com:587 (sSMTP sendmail emulation); Sun, 04 Dec 2011 19:04:09 -0800
Date: Sun, 4 Dec 2011 19:04:09 -0800
From: Brian Harring <ferringb@gmail.com>
To: lxnay@gentoo.org
Cc: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] We need *you* for a USE="selinux" dependency
Message-ID: <20111205030409.GA3683@localhost.google.com>
References: <20111204203550.GA20891@gentoo.org>
 <CAN3AtvpG2160EvSA0Y2F-xAZpOR9CqfgHWG2dDvaJ1wocO+3fg@mail.gmail.com>
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAN3AtvpG2160EvSA0Y2F-xAZpOR9CqfgHWG2dDvaJ1wocO+3fg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Archives-Salt: 2e296bc6-0cec-4f08-9447-58138070505a
X-Archives-Hash: 8b3822a0260c9c93aa9947c24ce55a96

On Sun, Dec 04, 2011 at 11:10:17PM +0100, Fabio Erculiani wrote:
> On Sun, Dec 4, 2011 at 9:35 PM, Sven Vermeulen <swift@gentoo.org> wrote:
> > [...]
> > The dependency must be on both levels, because the SELinux module must be
> > installed before the package is installed (and in theory, RDEPEND could
> > trigger an installation afterwards): during the installation phase, Portage
> > labels the files on the system (which would get wrong labels if the module
> > isn't installed yet[1]). Also, DEPEND isn't sufficient due to binary package
> > support requirements.
> >
> >
> > Wkr,
> > ?? ?? ?? ??Sven Vermeulen
> >
> > [1] I am aware that Portage currently installs RDEPEND before the package
> > ?? ??itself, but that might change in the future and other package managers might
> > ?? ??exhibit different behavior.
> >
> 
> I haven't really understood what you mean with RDEPENDs being scheduled "after".
> RDEPEND must be always scheduled before the pkg requiring it,

While it appears that way, it's not actually true; RDEPEND is what the 
pkg requires to be able to be usable, not what is required to merge 
it.

Key thing there is the 'run' part; the manager can merge a pkg that 
isn't yet usable (unsatisfied rdeps), as long as nothing in the graph 
currently requires the pkg to be working at that state in the build 
plan.

Assuming pkg x DEPENDs on a, and RDEPENDS on b for the context of this 
discussion, it's perfectly valid for the manager to sequentially build 
and merge (a, x, b).  At the point 'b' is merged, 'x' is considered 
satisfied/usable.

This is the long term rules; the reason it's not obvious is because 
it's rare for the graph to be flexed in such a fashion that a,x,b is 
forced rather than a,b,x.  Cycles, blockers, odd deps, etc, can 
force it however.


> If you need to schedule a dep install at some point, you should rather
> use PDEPEND, but if the same is required earlier in the schedule,
> well, you're flooked.

In the context of this discussion (apply selinux policies), PDEPEND 
isn't valid; PDEPEND should be used strictly for for deps that are 
RDEPEND required, but the pkg can function (degraded) without; this 
being done for cycle breaking reasons.  Well aware people don't always 
abide by those terms, but that's the actual rules.

Selinux wise, the policy needs to be available for applying at merge 
time, so PDEPEND doesn't fly.
~harring