From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([69.77.167.62] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Kjk2U-0002im-8w for garchives@archives.gentoo.org; Sun, 28 Sep 2008 00:21:30 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2859DE0084; Sun, 28 Sep 2008 00:21:29 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id EF8EEE0084 for ; Sun, 28 Sep 2008 00:21:28 +0000 (UTC) Received: from [192.168.22.10] (ip68-4-152-120.oc.oc.cox.net [68.4.152.120]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTP id BD6A964AB7 for ; Sun, 28 Sep 2008 00:21:27 +0000 (UTC) Message-ID: <48DECDFE.7010606@gentoo.org> Date: Sat, 27 Sep 2008 17:21:18 -0700 From: Zac Medico User-Agent: Thunderbird 2.0.0.17 (X11/20080914) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: Gentoo Dev Subject: [gentoo-dev] [RFC] PROPERTIES=set for meta-packages that should behave like package sets X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Archives-Salt: b0f94a09-ea18-476d-8e0f-ed9e44282a0b X-Archives-Hash: 02020c2650449920c941adf46dbf7d6f -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi everyone, Please consider a PROPERTIES=set value that allows an ebuild to indicate that it should behave like a package set when selected on the command line. This is behavior is somewhat difficult to describe in words but the following example should be sufficient to convey the general idea. Consider a case where all of the kde-base/*-meta packages exhibit the "set" property, and these packages and their dependencies are currently installed. In such a case, the default behavior for a command such as `emerge kde-base/kde-meta` should be to reinstall the the selected kde-base/kde-meta ebuild and the set of packages which includes it's direct dependencies and it's recursive "set" dependencies. So, assuming that all USE flags are enabled for the selected kde-base/kde-meta ebuild, it would reinstall the direct dependencies of kdeartwork-meta, kdebase-meta, kdeedu-meta, kdegames-meta, kdegraphics-meta, kdemultimedia-meta, kdenetwork-meta, kdetoys-meta, kdeutils-meta, and kdeaccessibility-meta ebuilds. Similarly, the default behavior for a command such as `emerge --unmerge kde-base/kde-meta` would be to uninstall the same set of packages. The advantage of using the PROPERTIES=set approach, rather than some alternative approach, is that the PROPERTIES=set approach fits nicely into the existing framework, similar to the way that "virtual" ebuilds [1] fit into the existing framework. For example, /etc/portage/package.use can be used to control the USE flags of these "set" ebuilds in the same way that it is currently used to control any other package. Also, tools that are designed to work with existing ebuilds will continue to work just as well with "set" ebuilds. Similar to the proposed "virtual" property [2], the "set" property will indicate that dependency calculations should consider the ebuild to have zero installation cost. Other than this, an ebuild which exhibits the "set" property should behave just like any other ebuild. It should be installed and uninstalled just like any other ebuild, including execution of all the normal ebuild phase functions that would be executed for any other ebuild that does not exhibit the "set" property. Does this seem like a good approach? Are there any suggestions for improvements or alternative approaches? [1] http://www.gentoo.org/proj/en/glep/glep-0037.html [2] http://archives.gentoo.org/gentoo-dev/msg_9d449a18a96a25a547fcfd40544085cf.xml - -- Thanks, Zac -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjezf0ACgkQ/ejvha5XGaN78wCg3RHVdox0VaFq+241zVWRkNTH 6H8AoNNMw/I1bWPzM13yN2PMDg6+MTmD =dxEx -----END PGP SIGNATURE-----