* [gentoo-dev] Portage Subcategory Capabilities?
@ 2004-10-03 18:55 Chris White
2004-10-04 5:12 ` Georgi Georgiev
0 siblings, 1 reply; 18+ messages in thread
From: Chris White @ 2004-10-03 18:55 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1635 bytes --]
All,
Has there been some talk as to subcategory implementations in
portage? I'm going to assume that it could be done (with speed
sacrifice of course), but it would be well beneficial in an ever
expanding tree. As more and more new ebuilds flow in everyday, sooner
or later categories are split. This would be somewhat of a time saving
effort for the result, but its creation would be a little consuming. I
wouldn't mind trying to look over the creation of such an implementation
(I won't of course be fully active on that until the end of this
semester feh :( ). Here's somewhat of an idea:
media-sound: ok, I'm working on organizing this because it needs to be.
So let's see... wc says!:
chris@secures /usr/local/portage/gentoo-x86/media-sound $ ls -1 | wc
275 275 2349
That's right... 257 nice packages which might actually be installed if
users knew what they were :). Something like this might be a little nicer:
media-sound/editors/audacity
media-sound/players/xmms
now let's say players gets way to huge:
media-sound/players/mp3/
media-sound/players/ogg/
etc. While this may be somewhat of a strange example. I think it
somewhat the organizational need the tree will require at some point.
This is just an idea of a good way to organize this stuff. If there's
something I'm just not seeing, feel free to slap me with a wet trout and
suggest something better. This should be looked at though. Thanks to
everyone's patience in dealing with me as always :).
--
Chris White <chriswhite@gentoo.org>
------------------------
Sound | Video | Security
ChrisWhite @ irc.freenode.net
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Portage Subcategory Capabilities?
2004-10-03 18:55 [gentoo-dev] Portage Subcategory Capabilities? Chris White
@ 2004-10-04 5:12 ` Georgi Georgiev
2004-10-04 5:34 ` Andrew Gaffney
0 siblings, 1 reply; 18+ messages in thread
From: Georgi Georgiev @ 2004-10-04 5:12 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 713 bytes --]
maillog: 04/10/2004-03:55:13(+0900): Chris White types
<snip>
> Something like this might be a little nicer:
>
> media-sound/editors/audacity
> media-sound/players/xmms
>
> now let's say players gets way to huge:
>
> media-sound/players/mp3/
> media-sound/players/ogg/
I personally like the idea. What about turning the first dash into a
slash as well?
media/sound/editors/audacity
media/sound/players/xmms
media/sound/players/mp3/
media/sound/players/ogg/
--
> Georgi Georgiev > General Protection Fault! [ Ignore ] [ >
< chutz@gg3.net < Reboot ] [ Install Linux ] -- From a <
> +81(90)6266-1163 > Slashdot.org post >
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Portage Subcategory Capabilities?
2004-10-04 5:12 ` Georgi Georgiev
@ 2004-10-04 5:34 ` Andrew Gaffney
2004-10-04 5:47 ` Matthew Schulkind
` (3 more replies)
0 siblings, 4 replies; 18+ messages in thread
From: Andrew Gaffney @ 2004-10-04 5:34 UTC (permalink / raw
To: Georgi Georgiev; +Cc: gentoo-dev
Georgi Georgiev wrote:
> maillog: 04/10/2004-03:55:13(+0900): Chris White types
> <snip>
>
>>Something like this might be a little nicer:
>>
>>media-sound/editors/audacity
>>media-sound/players/xmms
>>
>>now let's say players gets way to huge:
>>
>>media-sound/players/mp3/
>>media-sound/players/ogg/
>
> I personally like the idea. What about turning the first dash into a
> slash as well?
>
> media/sound/editors/audacity
> media/sound/players/xmms
> media/sound/players/mp3/
> media/sound/players/ogg/
This has been brought up before in the past and been shot down, but I'll humor
you. If support for this were to be added into Portage, there would be a few
things to think about:
1) this will cause a performance hit no matter how it is done
2) how will Portage know the difference between a package and another
sub-category when it is walking the tree? It could do something like walking
all the way to the end of the category/sub-category/sub-category tree until
it finds .ebuild files and then backing up a level or 2 to determine the
category, but again this would cause an enormous performance hit due to the
additional required I/O.
3) the many additional directories would cause an 'emerge sync' to take
longer than it does now.
Basically, you'd be pissing everyone off with little benefit (except maybe to
developer sanity). Keep in mind that I probably have absolutely no idea what I'm
talking about and nothing I say should be accepted as fact without verifying it
elsewhere.
--
Andrew Gaffney
Network Administrator
Skyline Aeronautics, LLC.
636-357-1548
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Portage Subcategory Capabilities?
2004-10-04 5:34 ` Andrew Gaffney
@ 2004-10-04 5:47 ` Matthew Schulkind
2004-10-04 6:04 ` Robin H. Johnson
` (2 subsequent siblings)
3 siblings, 0 replies; 18+ messages in thread
From: Matthew Schulkind @ 2004-10-04 5:47 UTC (permalink / raw
To: gentoo-dev
> This has been brought up before in the past and been shot down, but I'll humor
> you. If support for this were to be added into Portage, there would be a few
> things to think about:
>
> 1) this will cause a performance hit no matter how it is done
> 2) how will Portage know the difference between a package and another
> sub-category when it is walking the tree? It could do something like walking
> all the way to the end of the category/sub-category/sub-category tree until
> it finds .ebuild files and then backing up a level or 2 to determine the
> category, but again this would cause an enormous performance hit due to the
> additional required I/O.
> 3) the many additional directories would cause an 'emerge sync' to take
> longer than it does now.
>
> Basically, you'd be pissing everyone off with little benefit (except maybe to
> developer sanity). Keep in mind that I probably have absolutely no idea what I'm
> talking about and nothing I say should be accepted as fact without verifying it
> elsewhere.
>
> --
> Andrew Gaffney
> Network Administrator
> Skyline Aeronautics, LLC.
> 636-357-1548
>
> --
> gentoo-dev@gentoo.org mailing list
>
>
Why does this necessarily have to change the portage directory structure?
I think this is a good idea to, but why not implement a secondary
browsing interface which could use these categories and just map to
ebuilds. With this strategy, even if a package fell into two
categories, it could be put into both. This could also lead to any
number of more pretty features.
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Portage Subcategory Capabilities?
2004-10-04 5:34 ` Andrew Gaffney
2004-10-04 5:47 ` Matthew Schulkind
@ 2004-10-04 6:04 ` Robin H. Johnson
2004-10-04 7:16 ` George Shapovalov
2004-10-04 12:56 ` [gentoo-dev] Portage Subcategory Capabilities? Luke-Jr
3 siblings, 0 replies; 18+ messages in thread
From: Robin H. Johnson @ 2004-10-04 6:04 UTC (permalink / raw
To: Gentoo Developers
[-- Attachment #1: Type: text/plain, Size: 1895 bytes --]
On Mon, Oct 04, 2004 at 12:34:50AM -0500, Andrew Gaffney wrote:
> 1) this will cause a performance hit no matter how it is done
A performance hit yes, but a lot less of a performance hit than you
might expect, provided one requirement is met:
- A directory cannot be both a category and a package ever. (This means
no renaming packages to categories too).
> 2) how will Portage know the difference between a package and another
> sub-category when it is walking the tree? It could do something
> like walking all the way to the end of the
> category/sub-category/sub-category tree until it finds .ebuild
> files and then backing up a level or 2 to determine the category,
> but again this would cause an enormous performance hit due to the
> additional required I/O.
Portage already has an explicit list of all valid categories that it
uses to check paths (see profiles/categories). Simply split the provided
package atom into two components by looking for the very last slash.
That gives you (category,pn), which can then be verified for existence
by comparing the category against the list, and then checking it's
directory for the package name. I believe it works in a very similar
fashion to this already.
> 3) the many additional directories would cause an 'emerge sync' to take
> longer than it does now.
Rsync would not be the bottleneck, and performance would actually
improve on any system that has trouble coping with very large numbers of
files in a single directory. Go and time 'ls' in your $DISTDIR. None of
our package directories have reached that point yet, but I sincerely
hope they never do.
--
Robin Hugh Johnson
E-Mail : robbat2@orbis-terrarum.net
Home Page : http://www.orbis-terrarum.net/?l=people.robbat2
ICQ# : 30269588 or 41961639
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Portage Subcategory Capabilities?
2004-10-04 5:34 ` Andrew Gaffney
2004-10-04 5:47 ` Matthew Schulkind
2004-10-04 6:04 ` Robin H. Johnson
@ 2004-10-04 7:16 ` George Shapovalov
2004-10-04 7:42 ` Georgi Georgiev
2004-10-04 12:40 ` [gentoo-dev] Unique package names Georgi Georgiev
2004-10-04 12:56 ` [gentoo-dev] Portage Subcategory Capabilities? Luke-Jr
3 siblings, 2 replies; 18+ messages in thread
From: George Shapovalov @ 2004-10-04 7:16 UTC (permalink / raw
To: gentoo-dev
On Sunday 03 October 2004 22:34, Andrew Gaffney wrote:
> This has been brought up before in the past and been shot down, but I'll
> humor you. If support for this were to be added into Portage, there would
No it wasn't. Discussion just felt off without leading to any conclusion as it
happens quite often. Well, actually such discussions were happening multiple
times in the past and while in some it may have felt like "shot down" in
others it even went as far as being added to portage-ng features list ;).
> be a few things to think about:
>
> 1) this will cause a performance hit no matter how it is done
> 2) how will Portage know the difference between a package and another
> sub-category when it is walking the tree? It could do something like
Grouping both as they are basically the same.
Directory walker is a pretty standard piece of code discussed in many text
books for various languages. Python has explicit support for some basic
dirwalker functionality in its standard library.
As for distinguishing: in prior discussions there were calls to go the
opposite route and flatten namespace. That is to get rid of categories
altogether and rely solely on search. Thus one approach would be to make one
pass accumulating all package names and then work off that (store path to
ebuild dir in the cache for example). However that may not be optimal as this
will disallow duplicate package names (which we *have* irrespectively of
whether this is good or bad).
A simpler and more efficient approach may be to simply prepend path to package
name, possibly substituting '/' with some other separator if that's a
problem. This will give a flat list of effective package names (that include
all their categorization) which may even simplify further processing.
Actually having a separate pass may be even more of an advantage as portage
works off its cache for the most part anyway and this cache is created
server-side already. Thus this change might even speed things up :) (well,
not really, but shouldn't cause significant performance degradation either).
Ebuilds will have to specify full category for each dependency with such
approach, but that's a policy anyway..
> 3) the many additional directories would cause an 'emerge sync' to take
> longer than it does now.
Khm, not really sure about this one. If it really becomes that bad there were
ways discussed on improving syncing (cvsup or collating small files comes to
mind, but that's a separate discussion).
> Basically, you'd be pissing everyone off with little benefit (except maybe
> to developer sanity). Keep in mind that I probably have absolutely no idea
I wouldn't call this a small benefit, considering that its not only
developers' sanity at stake here, I am pretty sure users would appreciate a
more sane portage structure as well :).
> what I'm talking about and nothing I say should be accepted as fact without
> verifying it elsewhere.
That's what we are trying to do :).
George
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Portage Subcategory Capabilities?
2004-10-04 7:16 ` George Shapovalov
@ 2004-10-04 7:42 ` Georgi Georgiev
2004-10-04 12:40 ` [gentoo-dev] Unique package names Georgi Georgiev
1 sibling, 0 replies; 18+ messages in thread
From: Georgi Georgiev @ 2004-10-04 7:42 UTC (permalink / raw
To: gentoo-dev
maillog: 04/10/2004-00:16:10(-0700): George Shapovalov types
<snip>
> As for distinguishing: in prior discussions there were calls to go the
> opposite route and flatten namespace. That is to get rid of categories
> altogether and rely solely on search. Thus one approach would be to make one
> pass accumulating all package names and then work off that (store path to
> ebuild dir in the cache for example). However that may not be optimal as this
> will disallow duplicate package names (which we *have* irrespectively of
> whether this is good or bad).
I remember that discussion. And there were to be symlinks to the
packages in the flat namespace, similar to what we already have in
$PKGDIR.
<snip>
> A simpler and more efficient approach may be to simply prepend path to package
> name, possibly substituting '/' with some other separator if that's a
> problem. This will give a flat list of effective package names (that include
> all their categorization) which may even simplify further processing.
> Actually having a separate pass may be even more of an advantage as portage
> works off its cache for the most part anyway and this cache is created
> server-side already. Thus this change might even speed things up :) (well,
> not really, but shouldn't cause significant performance degradation either).
Naah, that would also require users to specify full names, which is
ugly.
<snip>
> > 3) the many additional directories would cause an 'emerge sync' to take
> > longer than it does now.
Having 100 or so more directories when there are 80,000+ items in $PORTDIR
wouldn't really hurt rsync.
--
*> Georgi Georgiev *> If you go out of your mind, do it quietly, *>
<* chutz@gg3.net <* so as not to disturb those around you. <*
*> +81(90)6266-1163 *> *>
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* [gentoo-dev] Unique package names
2004-10-04 7:16 ` George Shapovalov
2004-10-04 7:42 ` Georgi Georgiev
@ 2004-10-04 12:40 ` Georgi Georgiev
2004-10-04 12:53 ` Ciaran McCreesh
` (2 more replies)
1 sibling, 3 replies; 18+ messages in thread
From: Georgi Georgiev @ 2004-10-04 12:40 UTC (permalink / raw
To: gentoo-dev
maillog: 04/10/2004-00:16:10(-0700): George Shapovalov types
> However that may not be optimal as this will disallow duplicate
> package names (which we *have* irrespectively of whether this is good
> or bad).
Isn't it about time to do something about these duplicate package names?
Why not get rid of them, and then think of reorganizing the tree.
Most of the duplicates are emacs/xemacs modules, which could be renamed
to the same name with an emacs- xemacs- prefix.
Here is the current list of duplicates, with suggestions.
app-emacs/apel app-xemacs/apel : {,x}emacs-apel (same for other (x)emacs plugins)
app-admin/analog app-emacs/analog : {,x}emacs-analog
app-emacs/auctex app-xemacs/auctex : {,x}emacs-auctex
app-emacs/bbdb app-xemacs/bbdb : {,x}emacs-bbdb
app-emacs/binclock app-misc/binclock : emacs-binclock, binclock
app-emacs/dictionary app-xemacs/dictionary : {,x}emacs-dictionary
app-emacs/ecb app-xemacs/ecb : {,x}emacs-ecb
app-emacs/eieio app-xemacs/eieio : {,x}emacs-eieio
app-emacs/elib app-xemacs/elib : {,x}emacs-elib
app-emacs/ess app-xemacs/ess : {,x}emacs-ess
app-emacs/gnus app-xemacs/gnus : {,x}emacs-gnus
app-emacs/haskell-mode app-xemacs/haskell-mode : {,x}emacs-haskell-mode
app-emacs/ibuffer app-xemacs/ibuffer : {,x}emacs-ibuffer
app-emacs/igrep app-xemacs/igrep : {,x}emacs-igrep
app-emacs/ilisp app-xemacs/ilisp : {,x}emacs-ilisp
app-emacs/jde app-xemacs/jde : {,x}emacs-jde
app-emacs/liece app-xemacs/liece : {,x}emacs-liece
app-emacs/lookup app-xemacs/lookup : {,x}emacs-lookup
app-emacs/mailcrypt app-xemacs/mailcrypt : {,x}emacs-mailcrypt
app-emacs/mew app-xemacs/mew : {,x}emacs-mew
app-emacs/mldonkey net-p2p/mldonkey : emacs-mldonkey, mldonkey
app-emacs/mmm-mode app-xemacs/mmm-mode : {,x}emacs-mmm-mode
app-emacs/mule-ucs app-xemacs/mule-ucs : {,x}emacs-mule-ucs
app-emacs/psgml app-xemacs/psgml : {,x}emacs-psgml
app-emacs/sawfish x11-wm/sawfish : emacs-sawfish, sawfish
app-emacs/semantic app-xemacs/semantic : {,x}emacs-semantic
app-emacs/sml-mode app-xemacs/sml-mode : {,x}emacs-sml-mode
app-emacs/speedbar app-xemacs/speedbar : {,x}emacs-speedbar
app-emacs/tramp app-xemacs/tramp : {,x}emacs-tramp
app-emacs/view-process app-xemacs/view-process : {,x}emacs-view-process
app-emacs/vm app-xemacs/vm : {,x}emacs-vm
app-emacs/w3 app-xemacs/w3 : {,x}emacs-w3
app-emacs/xslide app-xemacs/xslide : {,x}emacs-xslide
app-emacs/zenirc app-xemacs/zenirc : {,x}emacs-zenirc
app-xemacs/ocaml dev-lang/ocaml : xemacs-ocaml, ocaml
app-xemacs/texinfo sys-apps/texinfo : xemacs-texinfo, texinfo
app-xemacs/time sys-apps/time : xemacs-time, time
app-sci/calc app-xemacs/calc : calc, xemacs-calc
app-misc/calendar app-vim/calendar app-xemacs/calendar : calendar {vim,emacs}-calendar
app-admin/sudo app-vim/sudo : sudo, vim-sudo
app-arch/par app-text/par : parchive, par
app-forensics/memdump sys-apps/memdump : # these appear to be identical
app-sci/balsa mail-client/balsa : apt-balsa? mail-balsa?
app-text/cook dev-util/cook : ?
app-vim/ant dev-java/ant : vim-ant, ant
dev-java/crimson games-strategy/crimson : crimson, crimson-fields
dev-libs/ace games-board/ace : libace, ace
dev-libs/aterm x11-terms/aterm : libaterm, aterm
dev-libs/atlas games-util/atlas : math-atlas, atlas
dev-libs/libxml dev-ruby/libxml : libxml, ruby-libxml
dev-libs/localizer net-zope/localizer : ?
dev-lisp/lush x11-themes/lush : lush, kde-lush?
dev-perl/libnet net-libs/libnet : ?
dev-python/generator games-emulation/generator : py-generator, generator
dev-python/medusa gnome-extra/medusa : py-medusa, medusa ?
dev-python/readline sys-libs/readline : py-readline, readline ?
games-mud/crystal x11-themes/crystal : crystal, kde-crystal
net-print/omni sys-devel/omni : omniprint, omni
--
\/ Georgi Georgiev \/ Cobol programmers are down in the dumps. \/
/\ chutz@gg3.net /\ /\
\/ +81(90)6266-1163 \/ \/
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Unique package names
2004-10-04 12:40 ` [gentoo-dev] Unique package names Georgi Georgiev
@ 2004-10-04 12:53 ` Ciaran McCreesh
2004-10-04 13:02 ` Mike Frysinger
2004-10-04 15:54 ` Donnie Berkholz
2 siblings, 0 replies; 18+ messages in thread
From: Ciaran McCreesh @ 2004-10-04 12:53 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1121 bytes --]
On Mon, 4 Oct 2004 21:40:26 +0900 Georgi Georgiev <chutz@gg3.net> wrote:
| maillog: 04/10/2004-00:16:10(-0700): George Shapovalov types
| > However that may not be optimal as this will disallow duplicate
| > package names (which we *have* irrespectively of whether this is
| > good or bad).
|
| Isn't it about time to do something about these duplicate package
| names? Why not get rid of them, and then think of reorganizing the
| tree.
Great idea! I propose we rename every single package so that it is
prefixed by the category. So, instead of, say, dev-lang/python, we'd
have dev-lang/dev-lang-python. That way we wouldn't get any duplicates!
(Since at least one person is going to miss the sarcasm, a large part of
why we have categories is so that duplicate names isn't a problem. Since
portage now *tells* you when you need to be more specific, duplicates
really aren't a problem. Sticking prefixies on the front of package
names is just plain stupid.)
--
Ciaran McCreesh : Gentoo Developer (Sparc, MIPS, Vim, Fluxbox)
Mail : ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Portage Subcategory Capabilities?
2004-10-04 5:34 ` Andrew Gaffney
` (2 preceding siblings ...)
2004-10-04 7:16 ` George Shapovalov
@ 2004-10-04 12:56 ` Luke-Jr
2004-10-04 15:58 ` [gentoo-dev] Subcategores and a C comment Nicholas Jones
3 siblings, 1 reply; 18+ messages in thread
From: Luke-Jr @ 2004-10-04 12:56 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 2147 bytes --]
On Monday 04 October 2004 5:34 am, Andrew Gaffney wrote:
> Georgi Georgiev wrote:
> > maillog: 04/10/2004-03:55:13(+0900): Chris White types
> > <snip>
> >
> >>Something like this might be a little nicer:
> >>
> >>media-sound/editors/audacity
> >>media-sound/players/xmms
> >>
> >>now let's say players gets way to huge:
> >>
> >>media-sound/players/mp3/
> >>media-sound/players/ogg/
> >
> > I personally like the idea. What about turning the first dash into a
> > slash as well?
> >
> > media/sound/editors/audacity
> > media/sound/players/xmms
> > media/sound/players/mp3/
> > media/sound/players/ogg/
>
> This has been brought up before in the past and been shot down, but I'll
> humor you. If support for this were to be added into Portage, there would
> be a few things to think about:
>
> 1) this will cause a performance hit no matter how it is done
What's this I've heard about Portage's performance not being a real issue?
(argument for not rewriting it in C/etc)
> 2) how will Portage know the difference between a package and another
> sub-category when it is walking the tree? It could do something like
> walking all the way to the end of the category/sub-category/sub-category
> tree until it finds .ebuild files and then backing up a level or 2 to
> determine the category, but again this would cause an enormous performance
> hit due to the additional required I/O.
Why not assume all [sub-]categories can also be meta-packages. Why emerge
kde-base/kde to get all of kde-base/* when you can just emerge kde-base
itself?
> 3) the many additional directories would cause an 'emerge sync' to take
> longer than it does now.
Then perhaps rsync isn't the proper program for updating the tree. Or maybe we
should finally implement fetch-on-demand...
>
> Basically, you'd be pissing everyone off with little benefit (except maybe
> to developer sanity). Keep in mind that I probably have absolutely no idea
> what I'm talking about and nothing I say should be accepted as fact without
> verifying it elsewhere.
--
Luke-Jr
Developer, Utopios
http://utopios.org/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Unique package names
2004-10-04 12:40 ` [gentoo-dev] Unique package names Georgi Georgiev
2004-10-04 12:53 ` Ciaran McCreesh
@ 2004-10-04 13:02 ` Mike Frysinger
2004-10-04 15:54 ` Donnie Berkholz
2 siblings, 0 replies; 18+ messages in thread
From: Mike Frysinger @ 2004-10-04 13:02 UTC (permalink / raw
To: gentoo-dev
On Monday 04 October 2004 08:40 am, Georgi Georgiev wrote:
> Isn't it about time to do something about these duplicate package names?
> Why not get rid of them, and then think of reorganizing the tree.
no
-mike
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Unique package names
2004-10-04 12:40 ` [gentoo-dev] Unique package names Georgi Georgiev
2004-10-04 12:53 ` Ciaran McCreesh
2004-10-04 13:02 ` Mike Frysinger
@ 2004-10-04 15:54 ` Donnie Berkholz
2 siblings, 0 replies; 18+ messages in thread
From: Donnie Berkholz @ 2004-10-04 15:54 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 544 bytes --]
On Mon, 2004-10-04 at 05:40, Georgi Georgiev wrote:
> maillog: 04/10/2004-00:16:10(-0700): George Shapovalov types
> > However that may not be optimal as this will disallow duplicate
> > package names (which we *have* irrespectively of whether this is good
> > or bad).
>
> Isn't it about time to do something about these duplicate package names?
> Why not get rid of them, and then think of reorganizing the tree.
If you want the names changed, get upstream to change them. We'll follow
suit.
--
Donnie Berkholz
Gentoo Linux
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [gentoo-dev] Subcategores and a C comment
2004-10-04 12:56 ` [gentoo-dev] Portage Subcategory Capabilities? Luke-Jr
@ 2004-10-04 15:58 ` Nicholas Jones
2004-10-04 16:39 ` Luke-Jr
2004-10-05 12:50 ` Paul de Vrieze
0 siblings, 2 replies; 18+ messages in thread
From: Nicholas Jones @ 2004-10-04 15:58 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 2681 bytes --]
> What's this I've heard about Portage's performance not being a
> real issue? (argument for not rewriting it in C/etc)
(Directed at individuals that persist in making such commentary:)
STOP SUGGESTING THAT until you know why it's rejected. Tree walking
will, at no reasonable level, be faster. DiskIO is a bound and there
is no direct way to make it faster in C, asm, or python. The only
realistic benefit of C would be algorithmic... and there is no problem
there except for searches. Any benefits beyond this incur a MASSIVE
testing and QA requirement because of the lower-level code involved.
You would not see nearly the changes and quickness in fixes if portage
were in C and I highly doubt anyone wants to diagnose segfaults on
a users box. Copy and pasting exceptions reduces debugging time by
leaps and bounds. 'Please run gdb on portage after recompiling your
system with frame pointers and debug information.' </rant>
Short version: C is my prefered language, what I code in at work,
and I think it's completely wrong for portage and wide deployment
of an actively changing system such as portage. It's more important
for portage to work than to be blazingly fast.
Any WELL THOUGHT argument or research should be taken to the
gentoo-portage-dev mailing list.
>> 2) how will Portage know the difference between a package
>> and another sub-category when it is walking the tree?
Categories file is easy enough to employ.
>> 3) the many additional directories would cause an 'emerge sync'
>> to take longer than it does now.
It would, but not as much as the thousands of ebuilds and
supporting files that get added to daily.
> should finally implement fetch-on-demand...
So instead of a sync connection and update, we can trade off a
complete tree for 1-to-N connections, comparisons, and fetches.
I'd recommend passing this through infra to make sure that
causing an extra N-times the connections is reasonable.
Also, you potentially cause the mirror to reject you as there
could be a great deal more competition on any given mirror.
Portage would be forced to add logic to repeatedly poll for a
free connection once it has started. If you get stuck behind
Dialup users, you could very well be there a while. Basically,
it can cause a race condition against servers.
>> Basically, you'd be pissing everyone off with little benefit
>> (except maybe to developer sanity).
It's not that bad really. But portage internals make a lot of
assumptions about the directory structure which is why we have
yet to make any attempt at this yet. It should become feasable
some time after 2.0.51 becomes stable and we branch for the
ripping apart of the internals.
--NJ
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Subcategores and a C comment
2004-10-04 15:58 ` [gentoo-dev] Subcategores and a C comment Nicholas Jones
@ 2004-10-04 16:39 ` Luke-Jr
2004-10-04 18:00 ` Nicholas Jones
2004-10-05 12:50 ` Paul de Vrieze
1 sibling, 1 reply; 18+ messages in thread
From: Luke-Jr @ 2004-10-04 16:39 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1640 bytes --]
On Monday 04 October 2004 3:58 pm, Nicholas Jones wrote:
> > What's this I've heard about Portage's performance not being a
> > real issue? (argument for not rewriting it in C/etc)
>
> Short version: C is my prefered language, what I code in at work,
> and I think it's completely wrong for portage and wide deployment
> of an actively changing system such as portage. It's more important
> for portage to work than to be blazingly fast.
>
I wasn't arguing that Portage should be in C. I was just pointing out that
since there's no real performance gains from such a conversion, it's not
likely that changing the directory structure would hurt performance either.
> > should finally implement fetch-on-demand...
>
> So instead of a sync connection and update, we can trade off a
> complete tree for 1-to-N connections, comparisons, and fetches.
>
> I'd recommend passing this through infra to make sure that
> causing an extra N-times the connections is reasonable.
>
> Also, you potentially cause the mirror to reject you as there
> could be a great deal more competition on any given mirror.
> Portage would be forced to add logic to repeatedly poll for a
> free connection once it has started. If you get stuck behind
> Dialup users, you could very well be there a while. Basically,
> it can cause a race condition against servers.
It seems like you're assuming that only one file can be fetched per
connection. I haven't researched the topic much, but I'm pretty sure HTTP,
not to mention FTP, supports multiple requests with one connection.
--
Luke-Jr
Developer, Utopios
http://utopios.org/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Subcategores and a C comment
2004-10-04 16:39 ` Luke-Jr
@ 2004-10-04 18:00 ` Nicholas Jones
2004-10-04 18:32 ` Luke-Jr
0 siblings, 1 reply; 18+ messages in thread
From: Nicholas Jones @ 2004-10-04 18:00 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 666 bytes --]
> It seems like you're assuming that only one file can be fetched per
> connection. I haven't researched the topic much, but I'm pretty sure HTTP,
> not to mention FTP, supports multiple requests with one connection.
How do you handle changing depends? You cannot safely assume that
a single download of all current relevant directories will be
complete. Thus... You have to connect and download multiple times.
HTTP/FTP would add in complexity to portage's update procedure.
Now we'd have to ensure that our information is correct. wget
could do this with timestamps, but then you lose the forcable
checking of the contents by checksum.
--NJ
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Subcategores and a C comment
2004-10-04 18:00 ` Nicholas Jones
@ 2004-10-04 18:32 ` Luke-Jr
2004-10-04 23:48 ` Nicholas Jones
0 siblings, 1 reply; 18+ messages in thread
From: Luke-Jr @ 2004-10-04 18:32 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1100 bytes --]
On Monday 04 October 2004 6:00 pm, Nicholas Jones wrote:
> > It seems like you're assuming that only one file can be fetched per
> > connection. I haven't researched the topic much, but I'm pretty sure
> > HTTP, not to mention FTP, supports multiple requests with one connection.
>
> How do you handle changing depends? You cannot safely assume that
> a single download of all current relevant directories will be
> complete. Thus... You have to connect and download multiple times.
Not neccesarilly... Open connection; fetch pkgiwant; check deps; fetch
depineed; no more deps: Close connection
Determining dependencies should be fast enough to keep the connection open
for.
>
> HTTP/FTP would add in complexity to portage's update procedure.
> Now we'd have to ensure that our information is correct. wget
> could do this with timestamps, but then you lose the forcable
> checking of the contents by checksum.
How so? Fetch checksums too.
And the purpose of such an ability would be to make sync-updates unneccesary.
--
Luke-Jr
Developer, Utopios
http://utopios.org/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Subcategores and a C comment
2004-10-04 18:32 ` Luke-Jr
@ 2004-10-04 23:48 ` Nicholas Jones
0 siblings, 0 replies; 18+ messages in thread
From: Nicholas Jones @ 2004-10-04 23:48 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1500 bytes --]
> Not neccesarilly... Open connection; fetch pkgiwant; check deps;
> fetch depineed; no more deps: Close connection
> Determining dependencies should be fast enough to keep the
> connection open for.
Sure... But would only require internal handling of web/ftp
protocols and rewriting emerge and/or doing single-dep parsing
for each entry... AND now that you're removed wget, you have to
maintain the file-states manually. That's a LOT of code with
LOTS of room for bugs. If someone feels up to handling all of
this, they can feel free to try and get it right.
It's a matter of sanity. From a programming and support
aspect, I'm not interested in non-consistent states. I
highly doubt this would be supported by dev-portage in any
reasonably near future as there are more important things
to be concerned with. It might also introduce difficulties
in modifying the structure of the tree later.
> How so? Fetch checksums too. And the purpose of such an
> ability would be to make sync-updates unneccesary.
Data gets corrupted.
Checksums of all data in the tree would be unnecessary
duplication of the existing system's capabilities. Why change
if you're simply going to reimplement everything?
GPG will introduce some of the at-sync checking of digests and
Manifests, but you _really_ don't want to experience the full
cost of verifying every file like this. It's already painful
with just manifest checking. (Hopefully, we'll get that sped
up though. Might have to write a lib for gpg.)
--NJ
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [gentoo-dev] Subcategores and a C comment
2004-10-04 15:58 ` [gentoo-dev] Subcategores and a C comment Nicholas Jones
2004-10-04 16:39 ` Luke-Jr
@ 2004-10-05 12:50 ` Paul de Vrieze
1 sibling, 0 replies; 18+ messages in thread
From: Paul de Vrieze @ 2004-10-05 12:50 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 576 bytes --]
On Monday 04 October 2004 17:58, Nicholas Jones wrote:
>
> It would, but not as much as the thousands of ebuilds and
> supporting files that get added to daily.
To this respect we might one time implement some setup where you get a
full description that includes an ebuild,a digest and all tree-local
pathes. The only main thing that would be needed is to register in the
ebuild which files from the tree it uses. Having such a list makes sense
anyway
Paul
--
Paul de Vrieze
Gentoo Developer
Mail: pauldv@gentoo.org
Homepage: http://www.devrieze.net
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2004-10-05 12:50 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-03 18:55 [gentoo-dev] Portage Subcategory Capabilities? Chris White
2004-10-04 5:12 ` Georgi Georgiev
2004-10-04 5:34 ` Andrew Gaffney
2004-10-04 5:47 ` Matthew Schulkind
2004-10-04 6:04 ` Robin H. Johnson
2004-10-04 7:16 ` George Shapovalov
2004-10-04 7:42 ` Georgi Georgiev
2004-10-04 12:40 ` [gentoo-dev] Unique package names Georgi Georgiev
2004-10-04 12:53 ` Ciaran McCreesh
2004-10-04 13:02 ` Mike Frysinger
2004-10-04 15:54 ` Donnie Berkholz
2004-10-04 12:56 ` [gentoo-dev] Portage Subcategory Capabilities? Luke-Jr
2004-10-04 15:58 ` [gentoo-dev] Subcategores and a C comment Nicholas Jones
2004-10-04 16:39 ` Luke-Jr
2004-10-04 18:00 ` Nicholas Jones
2004-10-04 18:32 ` Luke-Jr
2004-10-04 23:48 ` Nicholas Jones
2004-10-05 12:50 ` Paul de Vrieze
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox