From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ekarttun@mat-153.math.helsinki.fi> X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on finch.gentoo.org X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=DKIM_ADSP_ALL,DMARC_QUAR, MAILING_LIST_MULTI autolearn=no autolearn_force=no version=4.0.0 Received: from no-spam.it.helsinki.fi (NO-SPAM.it.helsinki.fi [128.214.205.34]) by chiba.3jane.net (Postfix) with ESMTP id C2539200AD4B for <gentoo-dev@gentoo.org>; Mon, 4 Feb 2002 01:21:30 -0600 (CST) Received: from mat-153.math.helsinki.fi (mat-153.math.helsinki.fi [128.214.72.113]) by no-spam.it.helsinki.fi (8.11.4/8.11.4-SPAMmers-sod-off) with ESMTP id g147Ka405893 for <gentoo-dev@gentoo.org>; Mon, 4 Feb 2002 09:20:36 +0200 (EET) Received: from ekarttun by mat-153.math.helsinki.fi with local (Exim 3.33 #1) id 16XdP8-0002ub-00 for gentoo-dev@gentoo.org; Mon, 04 Feb 2002 09:19:06 +0200 Date: Mon, 4 Feb 2002 09:19:06 +0200 From: Einar Karttunen <ekarttun@cs.helsinki.fi> To: gentoo-dev@gentoo.org Message-ID: <20020204071906.GB30127@shellak.helsinki.fi> Mail-Followup-To: gentoo-dev@gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.25i Subject: [gentoo-dev] A new category scheme idea Sender: gentoo-dev-admin@gentoo.org Errors-To: gentoo-dev-admin@gentoo.org X-BeenThere: gentoo-dev@gentoo.org X-Mailman-Version: 2.0.6 Precedence: bulk Reply-To: gentoo-dev@gentoo.org List-Help: <mailto:gentoo-dev-request@gentoo.org?subject=help> List-Post: <mailto:gentoo-dev@gentoo.org> List-Subscribe: <http://lists.gentoo.org/mailman/listinfo/gentoo-dev>, <mailto:gentoo-dev-request@gentoo.org?subject=subscribe> List-Id: Gentoo Linux developer list <gentoo-dev.gentoo.org> List-Unsubscribe: <http://lists.gentoo.org/mailman/listinfo/gentoo-dev>, <mailto:gentoo-dev-request@gentoo.org?subject=unsubscribe> List-Archive: <http://lists.gentoo.org/pipermail/gentoo-dev/> X-Archives-Salt: 691bcfe6-03f8-4617-bb99-baeb15da47c0 X-Archives-Hash: 04cc138affe318f4ebd56fd64a051608 Hello I have thought about a new way of categorise ebuilds in gentoo. The new scheme would be based on category files which would be just a list of dependencys as portage understands them. Each package could be in many categories and categories may include categories (but there may be no circular references). So the category files would be essentially just the contents of the directories initially, but they are easily extensible. For example the dev-lisp category could be represented by the following file: ecls gcl sbcl Of course in additional to these categories we may create additional categories for example we could create a web-server-apps category which would include all apps needed for a typical web-server. Also we could have a suggested base system category which would include all apps which are essential in creating a functional system... This scheme grows even more attractive if there is a gui-installer, because it has just to understand categories. This would also solve all gnome/kde-apps vs. other categories problems, as the applications could be included in both categories. But how much worl would this be? I am not entirely familiar with the portage source code, but it seems quite modular, so there should be no large problems. Things that would have to be done: * switch /var/db/pkg not to use categories, but just package names. This should be simple to implement. * flatten /usr/portage all apps would be moved from their category directories to a common directory * remove category directories from portage, should be quite simple * add support for category files to emerge. The algorithm could be if the target is an application/ebuild proceed as before if it is a category merge all files in that category (this could be handled using the existing dependency code). Support also syntax like emerge category/abc which should also be quite easy to implement (open category file and fed the line matching abc to the dependency handling mechanism). * replace DEPEND="a/b c/d" in all ebuilds by DEPEND="b d". * make changes in gentolkit * make something for new users with menus This sould also make portage faster than now when emerging a build without a category name, because all applications are in the same directory. Of course we sould move /usr/portage to /var/portage, because /usr should contain only read-only data :-) It may seem that directories are more clear for manual operations but they would have their own operations like: ls /usr/portage/app-admin => cat /vat/portage/app-admin.cat - Einar Karttunen