Gentoo Archives: gentoo-portage-dev

From: tvali <qtvali@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] Few things, which imho would make portage better
Date: Tue, 14 Mar 2006 12:15:48
Message-Id: cea53e3c0603140414o705db70dt@mail.gmail.com
In Reply to: Re: [gentoo-portage-dev] Few things, which imho would make portage better by tvali
1 Another place, where it would be good, is that it could interact well with
2 GUI and it's Apply button.
3
4 Another thing, what would be imho improved, is the speed of following
5 functions:
6 * emerge -s, emerge -S
7 They should be cached somehow.
8
9 Also, i think that when speaking about *speed* of portage, which is imho
10 notably slow right now (speed of searching, building trees and so on),
11 sql-support should be considered. In /usr/portage/, i see many folders and
12 files, which tend to contain one or two words, lists of hashes and so on.
13 Actually i see relational database there. With many caches and other
14 optimizations it could be tuned fast, but having SQL doing all that, it
15 would be achieved very simply (maybe it would be a jump to have all linux
16 configurations in one SQL "filesystem"? ...ok, just fantasy:))
17
18 There are several small and simple SQL databases. With such tool, big parts
19 of portage become unnessecary, but it's speed will become much faster. This
20 should be optional if one uses some tiny sql, mysql or big clustered sql
21 with nas and load-balancer, but by default some tiny version of SQL should
22 be built.
23
24 Also, i currently dont see a possibility to see dependency tree of installed
25 package.
26
27 2006/3/14, tvali <qtvali@×××××.com>:
28 >
29 > I did think about some priorities too, so that it could be perfect for me.
30 >
31 > It should be possible to add package with a priority. I will give you an
32 > use case and explanation how i would use portage.
33 >
34 > emerge --justadd kdebase-meta kicker --priority 10
35 > emerge --justadd kdenetwork-meta kdeutils-meta kdeadmin-meta --priority 9
36 > emerge --justadd kdeedu-meta kdetoys-meta kdegames-meta kdeartwork-meta
37 > --priority 1
38 > emerge --justadd koffice-meta kdegraphics-meta kdemultimedia-meta
39 > --priority 5
40 > emerge --justadd kdewebdev-meta kdevelop htmltidy kompare cervisia
41 > --priority 7
42 > emerge --justadd kdepim-meta --priority 3
43 > emerge --justadd kdeaddons-meta kde-meta --priority 20
44 > emerge --changepriority kdeaddons-meta kde-meta --priority 0
45 >
46 > Now, when i run emerge --update, it should:
47 >
48 > * Sort packages in such order that packages with highest priority would be
49 > installed as soon as possible
50 > * Start installing
51 > * If something goes wrong, then skip this package and all, which depend on
52 > it. This should be optional, if those, which dont depend on it, but are
53 > needed by same package, will stay in their positions (go to end of same
54 > priority packages) or go to end.
55 >
56 > When i need to use my computer and need much resources, i will press
57 > ctrl-c, use it, then start (continue) emerge --update.
58 >
59 > 2006/3/14, tvali <qtvali@×××××.com>:
60 > >
61 > > 2006/3/14, Simon Stelling <blubb@g.o>:
62 > > >
63 > > > tvali wrote:
64 > > > > * Add package to "world" checking all dependencies, but not emerging
65 > > > > * Remove package from "world" without unmerging
66 > > >
67 > > > Uhm, why would you want that?
68 > > >
69 > >
70 > > On my computer, building takes several hours on some packages. I have
71 > > used it in such way that it builds in several windows on the same time, but
72 > > i guess that that's not at all the best practice, especially with some
73 > > combinations of packages. So i would like to add all packages, seeing all
74 > > blocks and inter dependencies, then start building when ready (and go out of
75 > > home, when it builds, and be sure that it will do it's best when i'm away).
76 > >
77 > > > * Save all important messages into file instead of beeping (i may be
78 > > > away
79 > > > > from home); optionally replay them at end of update
80 > > >
81 > > > elog can do this.
82 > >
83 > >
84 > > Will check out.
85 > >
86 > > > * When updating or installing new package, if something goes wrong,
87 > > > still
88 > > > > emerge other packages, which havent failed packages as dependencies
89 > > > -- in my
90 > > > > case, for example, when i do --update, for example, then the fact
91 > > > that
92 > > > > update of first package fails does not definitely mean that i dont
93 > > > want to
94 > > > > update others
95 > > >
96 > > > --resume
97 > >
98 > >
99 > > I know --resume, but that's not what i meant.
100 > >
101 > > Imagine the situation:
102 > > emerge -p package1 package2
103 > >
104 > > part1 (needed by package1)
105 > > part2 (needed by part3)
106 > > part3 (needed by package2)
107 > > part4 (needed by package2)
108 > > part5 (needed by both package1 and package2)
109 > > package1
110 > > package2
111 > >
112 > > now i start "emerge package1 package2" and go to work (or sleep or party
113 > > or sauna).
114 > >
115 > > part2 fails -- some bug or misconfiguration.
116 > >
117 > > currently it means that when i came back home, i see that part1 is
118 > > built, but nothing more and 4-5 hours are actually just wasted.
119 > >
120 > > There should be a way to have all those built when i came home:
121 > >
122 > > part1 (needed by package1)
123 > > part4 (needed by package2)
124 > > part5 (needed by both package1 and package2)
125 > > package1
126 > >
127 > > There should be an error message listing all others. Also, i would add
128 > > them to world and then emerge so that --update would try to emerge them
129 > > again, asking me about all previously failed packages when i start it, if i
130 > > want to retry this time (yes, no, all, none).
131 > >
132 > > --
133 > > > Kind Regards,
134 > > >
135 > > > Simon Stelling
136 > > > Gentoo/AMD64 Developer
137 > > > --
138 > > > gentoo-portage-dev@g.o mailing list
139 > > >
140 > > >
141 > >
142 > >
143 > > --
144 > > tvali
145 > > (e-mail: " qtvali@×××××.com"; msn: " qtvali@×××××.com";
146 > > icq: "317-492-912")
147 > >
148 > > Ühe eesti internetifirma lehel kohtasin tsitaati:
149 > > If you don't do it excellently, dont do it at all. Because if it's not
150 > > excellent, it won't be profitable or fun, and if you're not in business for
151 > > fun or profit, what the hell are you doing here?
152 > > Robert Townsend
153 > >
154 >
155 >
156 >
157 > --
158 > tvali
159 > (e-mail: "qtvali@×××××.com"; msn: "qtvali@×××××.com";
160 > icq: "317-492-912")
161 >
162 > Ühe eesti internetifirma lehel kohtasin tsitaati:
163 > If you don't do it excellently, dont do it at all. Because if it's not
164 > excellent, it won't be profitable or fun, and if you're not in business for
165 > fun or profit, what the hell are you doing here?
166 > Robert Townsend
167 >
168
169
170
171 --
172 tvali
173 (e-mail: "qtvali@×××××.com"; msn: "qtvali@×××××.com";
174 icq: "317-492-912")
175
176 Ühe eesti internetifirma lehel kohtasin tsitaati:
177 If you don't do it excellently, dont do it at all. Because if it's not
178 excellent, it won't be profitable or fun, and if you're not in business for
179 fun or profit, what the hell are you doing here?
180 Robert Townsend

Replies