* [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