* [gentoo-dev] A new category scheme idea @ 2002-02-04 7:19 Einar Karttunen 2002-02-04 11:25 ` gentoo-user 0 siblings, 1 reply; 7+ messages in thread From: Einar Karttunen @ 2002-02-04 7:19 UTC (permalink / raw To: gentoo-dev 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-dev] A new category scheme idea 2002-02-04 7:19 [gentoo-dev] A new category scheme idea Einar Karttunen @ 2002-02-04 11:25 ` gentoo-user 2002-02-04 11:43 ` Vitaly Kushneriuk 0 siblings, 1 reply; 7+ messages in thread From: gentoo-user @ 2002-02-04 11:25 UTC (permalink / raw To: gentoo-dev On Mon, 4 Feb 2002, Einar Karttunen wrote: > 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). > I agree on your point that category files are usefull. You certainly have a point. I don't think though the categories in the portage tree should vanish. I prefer to see category files as an addition to the "main category" of each package. The reason I want that is that I think the system would become unmanageable if the packages are uncategorized. There are just too many packages, if you want to put them all in one directory, it will be hell to find them or maintain them. Next the categorizing allows for duplicate names. Finally I think category files with qualified packages are not harder to make than category files without qualified packages. Unqualifying packages is a considerable job though, so I prefer to give each package a "main" category, and use category files for aditional categories. Paul -- ___ /~~~\ | Paul de Vrieze | O-O | | Student of information management and technology | _ | | Mail: Paul@devrieze.net \___/ | Homepage: http://www.devrieze.net ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-dev] A new category scheme idea 2002-02-04 11:25 ` gentoo-user @ 2002-02-04 11:43 ` Vitaly Kushneriuk 2002-02-04 11:47 ` gentoo-user 0 siblings, 1 reply; 7+ messages in thread From: Vitaly Kushneriuk @ 2002-02-04 11:43 UTC (permalink / raw To: Gentoo-dev On Mon, 2002-02-04 at 13:25, gentoo-user@devrieze.net wrote: > On Mon, 4 Feb 2002, Einar Karttunen wrote: > > > 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). > > > > I agree on your point that category files are usefull. You certainly have > a point. I don't think though the categories in the portage tree should > vanish. I prefer to see category files as an addition to the "main > category" of each package. The reason I want that is that I think the > system would become unmanageable if the packages are uncategorized. There > are just too many packages, if you want to put them all in one directory, > it will be hell to find them or maintain them. Next the categorizing > allows for duplicate names. Finally I think category files with qualified > packages are not harder to make than category files without qualified > packages. Unqualifying packages is a considerable job though, so I prefer > to give each package a "main" category, and use category files for > aditional categories. Just an idea: to simplify it we can have *optional* KEYWORDS="xxx yyy" in ebuild file, and "emerge --update-keywords" command to scan through available ebuilds and dump their names to apropriate files under /usr/portage/keywords i.e. if in dev-lang/python-2.1.1-r3.ebuild, there's KEYWORD="DEVELOPMENT PYTHON COMPILER" dev-lang/python-2.1.1-r3 will be appended to /usr/portage/keywords/{DEVELOPMENT,PYTHON,COMPILER} /Vitaly ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-dev] A new category scheme idea 2002-02-04 11:43 ` Vitaly Kushneriuk @ 2002-02-04 11:47 ` gentoo-user 2002-02-04 12:07 ` Einar Karttunen 0 siblings, 1 reply; 7+ messages in thread From: gentoo-user @ 2002-02-04 11:47 UTC (permalink / raw To: Gentoo-dev On 4 Feb 2002, Vitaly Kushneriuk wrote: > On Mon, 2002-02-04 at 13:25, gentoo-user@devrieze.net wrote: > Just an idea: > to simplify it we can have *optional* KEYWORDS="xxx yyy" in > ebuild file, and "emerge --update-keywords" command to > scan through available ebuilds and dump their names to apropriate files > under /usr/portage/keywords > i.e. if in dev-lang/python-2.1.1-r3.ebuild, there's > KEYWORD="DEVELOPMENT PYTHON COMPILER" > dev-lang/python-2.1.1-r3 will be appended to > /usr/portage/keywords/{DEVELOPMENT,PYTHON,COMPILER} > Slick idea, I don't know whether we want categories or keywords, but it basically comes down on the same thing. But you're right that's the way to do it with the least amount of maintenance. Paul -- ___ /~~~\ | Paul de Vrieze | O-O | | Student of information management and technology | _ | | Mail: Paul@devrieze.net \___/ | Homepage: http://www.devrieze.net ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-dev] A new category scheme idea 2002-02-04 11:47 ` gentoo-user @ 2002-02-04 12:07 ` Einar Karttunen 2002-02-04 12:19 ` gentoo-user 2002-02-04 13:31 ` Vitaly Kushneriuk 0 siblings, 2 replies; 7+ messages in thread From: Einar Karttunen @ 2002-02-04 12:07 UTC (permalink / raw To: gentoo-dev On 04.02.02 12:47 +0100(+0000), gentoo-user@devrieze.net wrote: > On 4 Feb 2002, Vitaly Kushneriuk wrote: > > > On Mon, 2002-02-04 at 13:25, gentoo-user@devrieze.net wrote: > > > Just an idea: > > to simplify it we can have *optional* KEYWORDS="xxx yyy" in > > ebuild file, and "emerge --update-keywords" command to > > scan through available ebuilds and dump their names to apropriate files > > under /usr/portage/keywords > > i.e. if in dev-lang/python-2.1.1-r3.ebuild, there's > > KEYWORD="DEVELOPMENT PYTHON COMPILER" > > dev-lang/python-2.1.1-r3 will be appended to > > /usr/portage/keywords/{DEVELOPMENT,PYTHON,COMPILER} > > > > Slick idea, I don't know whether we want categories or keywords, but it > basically comes down on the same thing. But you're right that's the way to > do it with the least amount of maintenance. > I don't think so. The work would just go into specifying keywords for the ebuilds. If we have categories it is easier to create local categories and organise ebuilds by criterion the original author didn't think of. For example lynx could be put into console-apps and web-browsers, but this may be done without touching the ebuild at all. So someone may create an category without consulting the authors of the respective ebuilds. This would remove the dependency of managing categories and ebuilds and distribute the work. Also new experimental ebuilds could be added quickly into portage and integrated into official categories when they prove successful. Gentoo installations could be copied by creating a custom category containing all installed applications and then merging it on another server. - Einar Karttunen ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-dev] A new category scheme idea 2002-02-04 12:07 ` Einar Karttunen @ 2002-02-04 12:19 ` gentoo-user 2002-02-04 13:31 ` Vitaly Kushneriuk 1 sibling, 0 replies; 7+ messages in thread From: gentoo-user @ 2002-02-04 12:19 UTC (permalink / raw To: gentoo-dev On Mon, 4 Feb 2002, Einar Karttunen wrote: > I don't think so. The work would just go into specifying keywords for the > ebuilds. If we have categories it is easier to create local categories > and organise ebuilds by criterion the original author didn't think of. > For example lynx could be put into console-apps and web-browsers, but > this may be done without touching the ebuild at all. So someone may create > an category without consulting the authors of the respective ebuilds. > This would remove the dependency of managing categories and ebuilds > and distribute the work. Also new experimental ebuilds could be added > quickly into portage and integrated into official categories when they > prove successful. Gentoo installations could be copied by creating > a custom category containing all installed applications and then > merging it on another server. > You've got a point there, I didn't think about that but you've pointed to the other side of the coin. Evaluating the pro's and con's I think you're right and we should not autogenerate those categories. Paul -- ___ /~~~\ | Paul de Vrieze | O-O | | Student of information management and technology | _ | | Mail: Paul@devrieze.net \___/ | Homepage: http://www.devrieze.net ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-dev] A new category scheme idea 2002-02-04 12:07 ` Einar Karttunen 2002-02-04 12:19 ` gentoo-user @ 2002-02-04 13:31 ` Vitaly Kushneriuk 1 sibling, 0 replies; 7+ messages in thread From: Vitaly Kushneriuk @ 2002-02-04 13:31 UTC (permalink / raw To: Gentoo-dev I have a good news for you Einar, the features you want are already there ;). Just read on. On Mon, 2002-02-04 at 14:07, Einar Karttunen wrote: > On 04.02.02 12:47 +0100(+0000), gentoo-user@devrieze.net wrote: > > On 4 Feb 2002, Vitaly Kushneriuk wrote: > > > > > On Mon, 2002-02-04 at 13:25, gentoo-user@devrieze.net wrote: > > > > > Just an idea: > > > to simplify it we can have *optional* KEYWORDS="xxx yyy" in > > > ebuild file, and "emerge --update-keywords" command to > > > scan through available ebuilds and dump their names to apropriate files > > > under /usr/portage/keywords > > > i.e. if in dev-lang/python-2.1.1-r3.ebuild, there's > > > KEYWORD="DEVELOPMENT PYTHON COMPILER" > > > dev-lang/python-2.1.1-r3 will be appended to > > > /usr/portage/keywords/{DEVELOPMENT,PYTHON,COMPILER} > > > > > > > Slick idea, I don't know whether we want categories or keywords, but it > > basically comes down on the same thing. But you're right that's the way to > > do it with the least amount of maintenance. > > > > I don't think so. The work would just go into specifying keywords for the > ebuilds. If we have categories it is easier to create local categories > and organise ebuilds by criterion the original author didn't think of. You can do this today, just fire your favirite aditor and put there whatever package names that you want. > For example lynx could be put into console-apps and web-browsers, but > this may be done without touching the ebuild at all. So someone may create > an category without consulting the authors of the respective ebuilds. > This would remove the dependency of managing categories and ebuilds > and distribute the work. Also new experimental ebuilds could be added > quickly into portage and integrated into official categories when they > prove successful. Gentoo installations could be copied by creating There's nothing in the portage that prevents you having your own ebuilds. If you use rsync, just put them outside /usr/portage, if using cvs, you can leave them inplace. > a custom category containing all installed applications and then > merging it on another server. with MYSYSTEM being file with your preferred list of packages, just do "emerge `cat MYSYSTEM`" > > - Einar Karttunen > _______________________________________________ > gentoo-dev mailing list > gentoo-dev@gentoo.org > http://lists.gentoo.org/mailman/listinfo/gentoo-dev So as you see, your "custom" categories are already there. The keywords come to solve problem of finding package that you don't know about. i.e. I want all WindowMaker dockapps. Then I'll look in /usr/portage/keywords and see file named WMakerDockApp for exmaple. This is if ebuild author put there the keyword. If not... Well, then you still have to find it manualy, and then if you want, you can add the name to yout custom category file, as described above. Hope this helps, /Vitaly. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2002-02-04 13:32 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-02-04 7:19 [gentoo-dev] A new category scheme idea Einar Karttunen 2002-02-04 11:25 ` gentoo-user 2002-02-04 11:43 ` Vitaly Kushneriuk 2002-02-04 11:47 ` gentoo-user 2002-02-04 12:07 ` Einar Karttunen 2002-02-04 12:19 ` gentoo-user 2002-02-04 13:31 ` Vitaly Kushneriuk
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox