From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id A4A6D138361 for ; Tue, 8 Jan 2013 09:02:15 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6170921C055 for ; Tue, 8 Jan 2013 09:02:14 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E9B1921C004 for ; Tue, 8 Jan 2013 08:33:21 +0000 (UTC) Received: from [192.168.1.210] (xx250174254.cipherkey.com [205.250.174.254]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: dolsen) by smtp.gentoo.org (Postfix) with ESMTPSA id 1492B33DAA9 for ; Tue, 8 Jan 2013 08:33:21 +0000 (UTC) Message-ID: <1357633976.4289.61.camel@big_daddy.dol-sen.ca> Subject: [gentoo-catalyst] More proposed Catalyst changes From: Brian Dolbec To: "gentoo-catalyst@lists.gentoo.org" Date: Tue, 08 Jan 2013 00:32:56 -0800 Organization: Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-rhd4GnpzA+x0oAEp6Qo7" X-Mailer: Evolution 3.4.4 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-catalyst@lists.gentoo.org Reply-to: gentoo-catalyst@lists.gentoo.org Mime-Version: 1.0 X-Archives-Salt: 60e446b7-312a-4b1f-b3fc-bc4c702beaa6 X-Archives-Hash: 9f07bd61386d7924132b33de6c4adb93 --=-rhd4GnpzA+x0oAEp6Qo7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable While making changes to catalyst for the tree move I noticed that there is in my view a serious design flaw in the way the python modules for it are laid out. The modules directory has no __init__.py so is not automatically recognized by python as a directory containing python code... So, there is code in the main catalyst script to insert that path to it's modules so that they are found. Inside that modules directory is the main catalyst python package directory. These two directories are reversed. The modules directory should be nested inside the catalyst directory and have an __init__.py file so that they are properly and automatically inside the catalyst namespace.=20 The same is true of the arch directory and it's python files, which it too should be a sub-package of the catalyst namespace. The main catalyst start script.=20 I am a firm believer that the start script should be a minimal script which imports code from the main package and runs it. I would like to move the current script into the catalyst directory (some editing required) and add a minimal start script to a bin directory to avoid confusion with the catalyst python package dir. I would also split out the confdefaults to a separate defaults file, so that any and all defaults are in one central location. This would make it easy to edit for any future changes rather than chasing through all the code. So all of the current catalyst python code would be moved to files inside the catalyst python package directory. The long term benefit of this restructure is easier maintenance, and the flexibility to create other front-ends to run it. I know most/all of you guys are cli junkies, but with all the working code inside the main catalyst python package, a web interface could be made for it as well as gtk, qt, etc. quis. I'm not saying we would, but the option to is. =46rom what little I know of the releng teams work. A web frontend might be the most logical alternate interface. It would be setup to run on one or more of gentoo's build servers. And with a few more extensions to the code, be able to provide progress status of the build run. For examples of this structure, have a look at current gentoolkit's eclean, enalyze code, layman, mirrorselect, and the emaint rewrite now included in portage. --=20 Brian Dolbec --=-rhd4GnpzA+x0oAEp6Qo7 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQEcBAABAgAGBQJQ69m4AAoJECIU2QoBTxfLzOQH/0yNNGLNZx3rKrDXi4aj3wko Eni/3JbnUIXj0TFh9W56LoJzh89h6B7OZz7N0LBXlCfY0GG9xRE/IsvBXQPsbJX0 /ZU6LeJoikmjiwGmLy76vKyONEZpWw+pewOckU+sNSHOdnTnEqX95tZ2JQam+KBj cZcmHqtn2wjyANoh0nm63MIJTsVwPSOXwiUtQM7KBkOYjtw/lS0BXdsCOGgfPZGV pWs6JYthp7sxcA/fQ8I5ErbkM4fhAF1qjuShMOmynWvaOkogjbzKWWjPz5d7vBPW PzQGIGy6GRbO8SAgl3cwmPQSUXDJC1J56sGCKdcXMj/7iw+6+L6qbQllOu0EZ/w= =kopi -----END PGP SIGNATURE----- --=-rhd4GnpzA+x0oAEp6Qo7--